Lines Matching refs:dws
135 int (*dma_init)(struct device *dev, struct dw_spi *dws);
136 void (*dma_exit)(struct dw_spi *dws);
137 int (*dma_setup)(struct dw_spi *dws, struct spi_transfer *xfer);
140 int (*dma_transfer)(struct dw_spi *dws, struct spi_transfer *xfer);
141 void (*dma_stop)(struct dw_spi *dws);
169 irqreturn_t (*transfer_handler)(struct dw_spi *dws);
194 static inline u32 dw_readl(struct dw_spi *dws, u32 offset) in dw_readl() argument
196 return __raw_readl(dws->regs + offset); in dw_readl()
199 static inline void dw_writel(struct dw_spi *dws, u32 offset, u32 val) in dw_writel() argument
201 __raw_writel(val, dws->regs + offset); in dw_writel()
204 static inline u32 dw_read_io_reg(struct dw_spi *dws, u32 offset) in dw_read_io_reg() argument
206 switch (dws->reg_io_width) { in dw_read_io_reg()
208 return readw_relaxed(dws->regs + offset); in dw_read_io_reg()
211 return readl_relaxed(dws->regs + offset); in dw_read_io_reg()
215 static inline void dw_write_io_reg(struct dw_spi *dws, u32 offset, u32 val) in dw_write_io_reg() argument
217 switch (dws->reg_io_width) { in dw_write_io_reg()
219 writew_relaxed(val, dws->regs + offset); in dw_write_io_reg()
223 writel_relaxed(val, dws->regs + offset); in dw_write_io_reg()
228 static inline void spi_enable_chip(struct dw_spi *dws, int enable) in spi_enable_chip() argument
230 dw_writel(dws, DW_SPI_SSIENR, (enable ? 1 : 0)); in spi_enable_chip()
233 static inline void spi_set_clk(struct dw_spi *dws, u16 div) in spi_set_clk() argument
235 dw_writel(dws, DW_SPI_BAUDR, div); in spi_set_clk()
239 static inline void spi_mask_intr(struct dw_spi *dws, u32 mask) in spi_mask_intr() argument
243 new_mask = dw_readl(dws, DW_SPI_IMR) & ~mask; in spi_mask_intr()
244 dw_writel(dws, DW_SPI_IMR, new_mask); in spi_mask_intr()
248 static inline void spi_umask_intr(struct dw_spi *dws, u32 mask) in spi_umask_intr() argument
252 new_mask = dw_readl(dws, DW_SPI_IMR) | mask; in spi_umask_intr()
253 dw_writel(dws, DW_SPI_IMR, new_mask); in spi_umask_intr()
261 static inline void spi_reset_chip(struct dw_spi *dws) in spi_reset_chip() argument
263 spi_enable_chip(dws, 0); in spi_reset_chip()
264 spi_mask_intr(dws, 0xff); in spi_reset_chip()
265 dw_readl(dws, DW_SPI_ICR); in spi_reset_chip()
266 dw_writel(dws, DW_SPI_SER, 0); in spi_reset_chip()
267 spi_enable_chip(dws, 1); in spi_reset_chip()
270 static inline void spi_shutdown_chip(struct dw_spi *dws) in spi_shutdown_chip() argument
272 spi_enable_chip(dws, 0); in spi_shutdown_chip()
273 spi_set_clk(dws, 0); in spi_shutdown_chip()
277 extern void dw_spi_update_config(struct dw_spi *dws, struct spi_device *spi,
279 extern int dw_spi_check_status(struct dw_spi *dws, bool raw);
280 extern int dw_spi_add_host(struct device *dev, struct dw_spi *dws);
281 extern void dw_spi_remove_host(struct dw_spi *dws);
282 extern int dw_spi_suspend_host(struct dw_spi *dws);
283 extern int dw_spi_resume_host(struct dw_spi *dws);
287 extern void dw_spi_dma_setup_mfld(struct dw_spi *dws);
288 extern void dw_spi_dma_setup_generic(struct dw_spi *dws);
292 static inline void dw_spi_dma_setup_mfld(struct dw_spi *dws) {} in dw_spi_dma_setup_mfld() argument
293 static inline void dw_spi_dma_setup_generic(struct dw_spi *dws) {} in dw_spi_dma_setup_generic() argument