pgcache 92 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static inline struct pgcache *nicvf_alloc_page(struct nicvf *nic, pgcache 97 drivers/net/ethernet/cavium/thunder/nicvf_queues.c struct pgcache *pgcache, *next; pgcache 100 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache = &rbdr->pgcache[rbdr->pgidx]; pgcache 101 drivers/net/ethernet/cavium/thunder/nicvf_queues.c page = pgcache->page; pgcache 111 drivers/net/ethernet/cavium/thunder/nicvf_queues.c if (ref_count == pgcache->ref_count) pgcache 112 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache->ref_count--; pgcache 135 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache->page = page; pgcache 136 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache->dma_addr = 0; pgcache 137 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache->ref_count = 0; pgcache 150 drivers/net/ethernet/cavium/thunder/nicvf_queues.c if (!pgcache->ref_count) { pgcache 151 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache->ref_count = XDP_PAGE_REFCNT_REFILL; pgcache 166 drivers/net/ethernet/cavium/thunder/nicvf_queues.c next = &rbdr->pgcache[rbdr->pgidx]; pgcache 171 drivers/net/ethernet/cavium/thunder/nicvf_queues.c return pgcache; pgcache 178 drivers/net/ethernet/cavium/thunder/nicvf_queues.c struct pgcache *pgcache = NULL; pgcache 193 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache = nicvf_alloc_page(nic, rbdr, gfp); pgcache 194 drivers/net/ethernet/cavium/thunder/nicvf_queues.c if (!pgcache && !nic->rb_page) { pgcache 206 drivers/net/ethernet/cavium/thunder/nicvf_queues.c if (pgcache) pgcache 207 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nic->rb_page = pgcache->page; pgcache 209 drivers/net/ethernet/cavium/thunder/nicvf_queues.c if (rbdr->is_xdp && pgcache && pgcache->dma_addr) { pgcache 210 drivers/net/ethernet/cavium/thunder/nicvf_queues.c *rbuf = pgcache->dma_addr; pgcache 223 drivers/net/ethernet/cavium/thunder/nicvf_queues.c if (pgcache) pgcache 224 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache->dma_addr = *rbuf + XDP_PACKET_HEADROOM; pgcache 291 drivers/net/ethernet/cavium/thunder/nicvf_queues.c rbdr->pgcache = kcalloc(rbdr->pgcnt, sizeof(*rbdr->pgcache), pgcache 293 drivers/net/ethernet/cavium/thunder/nicvf_queues.c if (!rbdr->pgcache) pgcache 322 drivers/net/ethernet/cavium/thunder/nicvf_queues.c struct pgcache *pgcache; pgcache 362 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache = &rbdr->pgcache[head]; pgcache 363 drivers/net/ethernet/cavium/thunder/nicvf_queues.c if (pgcache->page && page_ref_count(pgcache->page) != 0) { pgcache 365 drivers/net/ethernet/cavium/thunder/nicvf_queues.c page_ref_sub(pgcache->page, pgcache 366 drivers/net/ethernet/cavium/thunder/nicvf_queues.c pgcache->ref_count - 1); pgcache 368 drivers/net/ethernet/cavium/thunder/nicvf_queues.c put_page(pgcache->page); pgcache 236 drivers/net/ethernet/cavium/thunder/nicvf_queues.h struct pgcache *pgcache;