Lines Matching defs:mmc_host
286 struct mmc_host { struct
290 const struct mmc_host_ops *ops; argument
291 struct mmc_pwrseq *pwrseq;
292 unsigned int f_min;
293 unsigned int f_max;
294 unsigned int f_init;
295 u32 ocr_avail;
296 u32 ocr_avail_sdio; /* SDIO-specific OCR */
297 u32 ocr_avail_sd; /* SD-specific OCR */
298 u32 ocr_avail_mmc; /* MMC-specific OCR */
299 struct wakeup_source *ws; /* Enable consume of uevents */
300 u32 max_current_330;
301 u32 max_current_300;
302 u32 max_current_180;
322 u32 caps; /* Host capabilities */
360 u32 caps2; /* More host capabilities */
394 int fixed_drv_type; /* fixed driver type for non-removable media */
396 mmc_pm_flag_t pm_caps; /* supported pm features */
399 unsigned int max_seg_size; /* see blk_queue_max_segment_size */
400 unsigned short max_segs; /* see blk_queue_max_segments */
401 unsigned short unused;
402 unsigned int max_req_size; /* maximum number of bytes in one req */
403 unsigned int max_blk_size; /* maximum size of one mmc block */
404 unsigned int max_blk_count; /* maximum number of blocks in one req */
405 unsigned int max_busy_timeout; /* max busy timeout in ms */
408 spinlock_t lock; /* lock for claim and bus ops */
410 struct mmc_ios ios; /* current io bus settings */
413 unsigned int use_spi_crc:1;
414 unsigned int claimed:1; /* host exclusively claimed */
415 unsigned int bus_dead:1; /* bus has been released */
416 unsigned int doing_init_tune:1; /* initial tuning in progress */
417 unsigned int can_retune:1; /* re-tuning can be used */
418 unsigned int doing_retune:1; /* re-tuning in progress */
419 unsigned int retune_now:1; /* do re-tuning at next req */
420 unsigned int retune_paused:1; /* re-tuning is temporarily disabled */
421 unsigned int use_blk_mq:1; /* use blk-mq */
422 unsigned int retune_crc_disable:1; /* don't trigger retune upon crc */
423 unsigned int can_dma_map_merge:1; /* merging can be used */
425 int rescan_disable; /* disable card detection */
426 int rescan_entered; /* used with nonremovable devices */
428 int need_retune; /* re-tuning is needed */
429 int hold_retune; /* hold off re-tuning */
430 unsigned int retune_period; /* re-tuning period in secs */
431 struct timer_list retune_timer; /* for periodic re-tuning */
433 bool trigger_card_event; /* card_event necessary */
435 struct mmc_card *card; /* device attached to this host */
437 wait_queue_head_t wq;
438 struct mmc_ctx *claimer; /* context that has host claimed */
439 int claim_cnt; /* "claim" nesting count */
440 struct mmc_ctx default_ctx; /* default context */
442 struct delayed_work detect;
443 int detect_change; /* card detect flag */
444 struct mmc_slot slot;
446 const struct mmc_bus_ops *bus_ops; /* current bus driver */
447 unsigned int bus_refs; /* reference counter */
449 unsigned int sdio_irqs;
450 struct task_struct *sdio_irq_thread;
451 struct delayed_work sdio_irq_work;
452 bool sdio_irq_pending;
453 atomic_t sdio_irq_thread_abort;
455 mmc_pm_flag_t pm_flags; /* requested pm features */
457 struct led_trigger *led; /* activity led */
460 bool regulator_enabled; /* regulator state */
462 struct mmc_supply supply;
464 struct dentry *debugfs_root;
467 struct mmc_request *ongoing_mrq;
470 struct fault_attr fail_mmc_request;
473 unsigned int actual_clock; /* Actual HC clock rate */
475 unsigned int slotno; /* used for sdio acpi binding */
477 int dsr_req; /* DSR value is valid */
478 u32 dsr; /* optional driver stage (DSR) value */
481 const struct mmc_cqe_ops *cqe_ops;
505 struct mmc_host *mmc_alloc_host(int extra, struct device *); argument