Lines Matching defs:buf
254 int (*dma_trans)(struct brcmnand_host *host, u64 addr, u32 *buf,
1123 static inline bool flash_dma_buf_ok(const void *buf)
1125 return buf && !is_vmalloc_addr(buf) &&
1126 likely(IS_ALIGNED((uintptr_t)buf, 4));
1881 static void brcmnand_read_buf(struct nand_chip *chip, uint8_t *buf, int len)
1885 for (i = 0; i < len; i++, buf++)
1886 *buf = brcmnand_read_byte(chip);
1889 static void brcmnand_write_buf(struct nand_chip *chip, const uint8_t *buf,
1898 brcmnand_low_level_op(host, LL_OP_WR, buf[i],
1910 static int brcmnand_edu_trans(struct brcmnand_host *host, u64 addr, u32 *buf,
1921 pa = dma_map_single(ctrl->dev, buf, len, dir);
2006 dma_addr_t buf, u32 len, u8 dma_cmd,
2020 desc->dram_addr = lower_32_bits(buf);
2021 desc->dram_addr_ext = upper_32_bits(buf);
2062 static int brcmnand_dma_trans(struct brcmnand_host *host, u64 addr, u32 *buf,
2069 buf_pa = dma_map_single(ctrl->dev, buf, len, dir);
2094 u64 addr, unsigned int trans, u32 *buf,
2109 if (likely(buf)) {
2112 for (j = 0; j < FC_WORDS; j++, buf++)
2113 *buf = brcmnand_read_fc(ctrl, j);
2150 * buf will contain raw data.
2151 * Otherwise, buf gets filled with 0xffs and return the maximum number of
2156 struct nand_chip *chip, void *buf, u64 addr)
2166 if (!buf)
2167 buf = nand_get_data_buf(chip);
2170 ret = chip->ecc.read_page_raw(chip, buf, true, page);
2175 ecc_chunk = buf + chip->ecc.size * i;
2194 u64 addr, unsigned int trans, u32 *buf, u8 *oob)
2203 dev_dbg(ctrl->dev, "read %llx -> %p\n", (unsigned long long)addr, buf);
2208 if (ctrl->dma_trans && !oob && flash_dma_buf_ok(buf)) {
2209 err = ctrl->dma_trans(host, addr, buf,
2227 err = brcmnand_read_by_pio(mtd, chip, addr, trans, buf,
2253 err = brcmstb_nand_verify_erased_page(mtd, chip, buf,
2272 err = brcmnand_read_by_pio(mtd, chip, addr, trans, buf,
2285 static int brcmnand_read_page(struct nand_chip *chip, uint8_t *buf,
2295 mtd->writesize >> FC_SHIFT, (u32 *)buf, oob);
2298 static int brcmnand_read_page_raw(struct nand_chip *chip, uint8_t *buf,
2310 mtd->writesize >> FC_SHIFT, (u32 *)buf, oob);
2338 u64 addr, const u32 *buf, u8 *oob)
2345 dev_dbg(ctrl->dev, "write %llx <- %p\n", (unsigned long long)addr, buf);
2347 if (unlikely((unsigned long)buf & 0x03)) {
2348 dev_warn(ctrl->dev, "unaligned buffer: %p\n", buf);
2349 buf = (u32 *)((unsigned long)buf & ~0x03);
2357 if (use_dma(ctrl) && !oob && flash_dma_buf_ok(buf)) {
2358 if (ctrl->dma_trans(host, addr, (u32 *)buf, mtd->writesize,
2370 if (buf) {
2373 for (j = 0; j < FC_WORDS; j++, buf++)
2374 brcmnand_write_fc(ctrl, j, *buf);
2404 static int brcmnand_write_page(struct nand_chip *chip, const uint8_t *buf,
2412 brcmnand_write(mtd, chip, host->last_addr, (const u32 *)buf, oob);
2417 static int brcmnand_write_page_raw(struct nand_chip *chip, const uint8_t *buf,
2426 brcmnand_write(mtd, chip, host->last_addr, (const u32 *)buf, oob);
2558 char *buf, struct brcmnand_cfg *cfg)
2560 buf += sprintf(buf,
2570 sprintf(buf, ", Hamming ECC");
2572 sprintf(buf, ", BCH-%u (1KiB sector)", cfg->ecc_level << 1);
2574 sprintf(buf, ", BCH-%u", cfg->ecc_level);