Lines Matching refs:mmio_base
96 * @mmio_base: MMIO base address for staging
103 void __iomem *mmio_base;
390 static inline u32 read_mbox_dword(void __iomem *mmio_base)
392 u32 dword = readl(mmio_base + MBOX_RDDATA_OFFSET);
395 writel(0, mmio_base + MBOX_RDDATA_OFFSET);
399 static inline void write_mbox_dword(void __iomem *mmio_base, u32 dword)
401 writel(dword, mmio_base + MBOX_WRDATA_OFFSET);
404 static inline u64 read_mbox_header(void __iomem *mmio_base)
408 low = read_mbox_dword(mmio_base);
409 high = read_mbox_dword(mmio_base);
414 static inline void write_mbox_header(void __iomem *mmio_base, u64 value)
416 write_mbox_dword(mmio_base, value);
417 write_mbox_dword(mmio_base, value >> 32);
420 static void write_mbox_data(void __iomem *mmio_base, u32 *chunk, unsigned int chunk_bytes)
430 write_mbox_dword(mmio_base, chunk[i]);
446 writel(MASK_MBOX_CTRL_ABORT, ss->mmio_base + MBOX_CONTROL_OFFSET);
513 status = readl(ss->mmio_base + MBOX_STATUS_OFFSET);
551 write_mbox_header(ss->mmio_base, MBOX_HEADER(mbox_size));
552 write_mbox_header(ss->mmio_base, MBOX_CMD_LOAD);
553 write_mbox_data(ss->mmio_base, src_chunk, ss->chunk_size);
557 writel(MASK_MBOX_CTRL_GO, ss->mmio_base + MBOX_CONTROL_OFFSET);
578 header = read_mbox_header(ss->mmio_base);
579 offset = read_mbox_dword(ss->mmio_base);
580 status = read_mbox_dword(ss->mmio_base);
616 ss.mmio_base = ioremap(mmio_pa, MBOX_REG_NUM * MBOX_REG_SIZE);
617 if (WARN_ON_ONCE(!ss.mmio_base))
637 iounmap(ss.mmio_base);