Lines Matching defs:mmc_host
351 struct mmc_host { struct
355 const struct mmc_host_ops *ops; argument
356 struct mmc_pwrseq *pwrseq;
357 unsigned int f_min;
358 unsigned int f_max;
359 unsigned int f_init;
360 u32 ocr_avail;
361 u32 ocr_avail_sdio; /* SDIO-specific OCR */
362 u32 ocr_avail_sd; /* SD-specific OCR */
363 u32 ocr_avail_mmc; /* MMC-specific OCR */
364 struct wakeup_source *ws; /* Enable consume of uevents */
365 u32 max_current_330;
366 u32 max_current_300;
367 u32 max_current_180;
387 u32 caps; /* Host capabilities */
425 u32 caps2; /* More host capabilities */
463 bool uhs2_sd_tran; /* UHS-II flag for SD_TRAN state */
464 bool uhs2_app_cmd; /* UHS-II flag for APP command */
465 struct sd_uhs2_caps uhs2_caps; /* Host UHS-II capabilities */
467 int fixed_drv_type; /* fixed driver type for non-removable media */
469 mmc_pm_flag_t pm_caps; /* supported pm features */
472 unsigned int max_seg_size; /* lim->max_segment_size */
473 unsigned short max_segs; /* lim->max_segments */
474 unsigned short unused;
475 unsigned int max_req_size; /* maximum number of bytes in one req */
476 unsigned int max_blk_size; /* maximum size of one mmc block */
477 unsigned int max_blk_count; /* maximum number of blocks in one req */
478 unsigned int max_busy_timeout; /* max busy timeout in ms */
481 spinlock_t lock; /* lock for claim and bus ops */
483 struct mmc_ios ios; /* current io bus settings */
486 unsigned int use_spi_crc:1;
487 unsigned int claimed:1; /* host exclusively claimed */
488 unsigned int doing_init_tune:1; /* initial tuning in progress */
489 unsigned int can_retune:1; /* re-tuning can be used */
490 unsigned int doing_retune:1; /* re-tuning in progress */
491 unsigned int retune_now:1; /* do re-tuning at next req */
492 unsigned int retune_paused:1; /* re-tuning is temporarily disabled */
493 unsigned int retune_crc_disable:1; /* don't trigger retune upon crc */
494 unsigned int can_dma_map_merge:1; /* merging can be used */
495 unsigned int vqmmc_enabled:1; /* vqmmc regulator is enabled */
497 int rescan_disable; /* disable card detection */
498 int rescan_entered; /* used with nonremovable devices */
500 int need_retune; /* re-tuning is needed */
501 int hold_retune; /* hold off re-tuning */
502 unsigned int retune_period; /* re-tuning period in secs */
503 struct timer_list retune_timer; /* for periodic re-tuning */
505 bool trigger_card_event; /* card_event necessary */
507 struct mmc_card *card; /* device attached to this host */
509 wait_queue_head_t wq;
510 struct mmc_ctx *claimer; /* context that has host claimed */
511 int claim_cnt; /* "claim" nesting count */
512 struct mmc_ctx default_ctx; /* default context */
514 struct delayed_work detect;
515 int detect_change; /* card detect flag */
516 struct mmc_slot slot;
518 const struct mmc_bus_ops *bus_ops; /* current bus driver */
520 unsigned int sdio_irqs;
521 struct task_struct *sdio_irq_thread;
522 struct work_struct sdio_irq_work;
523 bool sdio_irq_pending;
524 atomic_t sdio_irq_thread_abort;
526 mmc_pm_flag_t pm_flags; /* requested pm features */
528 struct led_trigger *led; /* activity led */
531 bool regulator_enabled; /* regulator state */
533 struct mmc_supply supply;
535 struct dentry *debugfs_root;
538 struct mmc_request *ongoing_mrq;
541 struct fault_attr fail_mmc_request;
544 unsigned int actual_clock; /* Actual HC clock rate */
546 unsigned int slotno; /* used for sdio acpi binding */
548 int dsr_req; /* DSR value is valid */
549 u32 dsr; /* optional driver stage (DSR) value */
573 struct mmc_host *mmc_alloc_host(int extra, struct device *); argument