drivers/ufs/host/ufs-hisi.h

Source file repositories/reference/linux-study-clean/drivers/ufs/host/ufs-hisi.h

File Facts

System
Linux kernel
Corpus path
drivers/ufs/host/ufs-hisi.h
Extension
.h
Size
2795 bytes
Lines
105
Domain
Driver Families
Bucket
drivers/ufs
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ufs_hisi_host {
	struct ufs_hba *hba;
	void __iomem *ufs_sys_ctrl;

	struct reset_control	*rst;

	uint64_t caps;

	bool in_suspend;
};

#define ufs_sys_ctrl_writel(host, val, reg)                                    \
	writel((val), (host)->ufs_sys_ctrl + (reg))
#define ufs_sys_ctrl_readl(host, reg) readl((host)->ufs_sys_ctrl + (reg))
#define ufs_sys_ctrl_set_bits(host, mask, reg)                                 \
	ufs_sys_ctrl_writel(                                                   \
		(host), ((mask) | (ufs_sys_ctrl_readl((host), (reg)))), (reg))
#define ufs_sys_ctrl_clr_bits(host, mask, reg)                                 \
	ufs_sys_ctrl_writel((host),                                            \
			    ((~(mask)) & (ufs_sys_ctrl_readl((host), (reg)))), \
			    (reg))

#endif /* UFS_HISI_H_ */

Annotation

Implementation Notes