Lines Matching defs:cache
83 struct ps3vram_cache cache;
311 struct ps3vram_cache *cache = &priv->cache;
313 if (!(cache->tags[entry].flags & CACHE_PAGE_DIRTY))
317 cache->tags[entry].address);
318 if (ps3vram_upload(dev, CACHE_OFFSET + entry * cache->page_size,
319 cache->tags[entry].address, DMA_PAGE_SIZE,
320 cache->page_size / DMA_PAGE_SIZE) < 0) {
323 entry * cache->page_size, cache->tags[entry].address,
324 cache->page_size);
326 cache->tags[entry].flags &= ~CACHE_PAGE_DIRTY;
333 struct ps3vram_cache *cache = &priv->cache;
337 CACHE_OFFSET + entry * cache->page_size,
339 cache->page_size / DMA_PAGE_SIZE) < 0) {
342 address, entry * cache->page_size, cache->page_size);
345 cache->tags[entry].address = address;
346 cache->tags[entry].flags |= CACHE_PAGE_PRESENT;
353 struct ps3vram_cache *cache = &priv->cache;
357 for (i = 0; i < cache->page_count; i++) {
359 cache->tags[i].flags = 0;
367 struct ps3vram_cache *cache = &priv->cache;
373 offset = (unsigned int) (address & (cache->page_size - 1));
377 for (i = 0; i < cache->page_count; i++) {
378 if ((cache->tags[i].flags & CACHE_PAGE_PRESENT) &&
379 cache->tags[i].address == base) {
380 cache->hit++;
382 cache->tags[i].address);
388 i = (jiffies + (counter++)) % cache->page_count;
394 cache->miss++;
402 priv->cache.page_count = CACHE_PAGE_COUNT;
403 priv->cache.page_size = CACHE_PAGE_SIZE;
404 priv->cache.tags = kcalloc(CACHE_PAGE_COUNT,
407 if (!priv->cache.tags)
410 dev_info(&dev->core, "Created ram cache: %d entries, %d KiB each\n",
421 kfree(priv->cache.tags);
445 offset = (unsigned int) (from & (priv->cache.page_size - 1));
446 avail = priv->cache.page_size - offset;
449 cached = CACHE_OFFSET + entry * priv->cache.page_size + offset;
486 offset = (unsigned int) (to & (priv->cache.page_size - 1));
487 avail = priv->cache.page_size - offset;
490 cached = CACHE_OFFSET + entry * priv->cache.page_size + offset;
500 priv->cache.tags[entry].flags |= CACHE_PAGE_DIRTY;
515 seq_printf(m, "hit:%u\nmiss:%u\n", priv->cache.hit, priv->cache.miss);