Lines Matching defs:mmc_host
304 struct mmc_host { struct
308 const struct mmc_host_ops *ops; argument
309 struct mmc_pwrseq *pwrseq;
310 unsigned int f_min;
311 unsigned int f_max;
312 unsigned int f_init;
313 u32 ocr_avail;
314 u32 ocr_avail_sdio; /* SDIO-specific OCR */
315 u32 ocr_avail_sd; /* SD-specific OCR */
316 u32 ocr_avail_mmc; /* MMC-specific OCR */
317 struct wakeup_source *ws; /* Enable consume of uevents */
318 u32 max_current_330;
319 u32 max_current_300;
320 u32 max_current_180;
340 u32 caps; /* Host capabilities */
378 u32 caps2; /* More host capabilities */
415 int fixed_drv_type; /* fixed driver type for non-removable media */
417 mmc_pm_flag_t pm_caps; /* supported pm features */
420 unsigned int max_seg_size; /* lim->max_segment_size */
421 unsigned short max_segs; /* lim->max_segments */
422 unsigned short unused;
423 unsigned int max_req_size; /* maximum number of bytes in one req */
424 unsigned int max_blk_size; /* maximum size of one mmc block */
425 unsigned int max_blk_count; /* maximum number of blocks in one req */
426 unsigned int max_busy_timeout; /* max busy timeout in ms */
429 spinlock_t lock; /* lock for claim and bus ops */
431 struct mmc_ios ios; /* current io bus settings */
434 unsigned int use_spi_crc:1;
435 unsigned int claimed:1; /* host exclusively claimed */
436 unsigned int doing_init_tune:1; /* initial tuning in progress */
437 unsigned int can_retune:1; /* re-tuning can be used */
438 unsigned int doing_retune:1; /* re-tuning in progress */
439 unsigned int retune_now:1; /* do re-tuning at next req */
440 unsigned int retune_paused:1; /* re-tuning is temporarily disabled */
441 unsigned int retune_crc_disable:1; /* don't trigger retune upon crc */
442 unsigned int can_dma_map_merge:1; /* merging can be used */
443 unsigned int vqmmc_enabled:1; /* vqmmc regulator is enabled */
445 int rescan_disable; /* disable card detection */
446 int rescan_entered; /* used with nonremovable devices */
448 int need_retune; /* re-tuning is needed */
449 int hold_retune; /* hold off re-tuning */
450 unsigned int retune_period; /* re-tuning period in secs */
451 struct timer_list retune_timer; /* for periodic re-tuning */
453 bool trigger_card_event; /* card_event necessary */
455 struct mmc_card *card; /* device attached to this host */
457 wait_queue_head_t wq;
458 struct mmc_ctx *claimer; /* context that has host claimed */
459 int claim_cnt; /* "claim" nesting count */
460 struct mmc_ctx default_ctx; /* default context */
462 struct delayed_work detect;
463 int detect_change; /* card detect flag */
464 struct mmc_slot slot;
466 const struct mmc_bus_ops *bus_ops; /* current bus driver */
468 unsigned int sdio_irqs;
469 struct task_struct *sdio_irq_thread;
470 struct work_struct sdio_irq_work;
471 bool sdio_irq_pending;
472 atomic_t sdio_irq_thread_abort;
474 mmc_pm_flag_t pm_flags; /* requested pm features */
476 struct led_trigger *led; /* activity led */
479 bool regulator_enabled; /* regulator state */
481 struct mmc_supply supply;
483 struct dentry *debugfs_root;
486 struct mmc_request *ongoing_mrq;
489 struct fault_attr fail_mmc_request;
492 unsigned int actual_clock; /* Actual HC clock rate */
494 unsigned int slotno; /* used for sdio acpi binding */
496 int dsr_req; /* DSR value is valid */
497 u32 dsr; /* optional driver stage (DSR) value */
500 const struct mmc_cqe_ops *cqe_ops;
501 void *cqe_private;
502 int cqe_qdepth;
526 struct mmc_host *mmc_alloc_host(int extra, struct device *); argument