Lines Matching refs:cache

110  * @regs: Registers cache
114 * @cache_unit: Bytes to cache per ICB
133 struct sh_mobile_meram_icb *cache;
145 * @regs: Registers cache
213 * LCDC cache planes allocation, init, cleanup and free
227 plane->cache = &priv->icbs[idx];
239 __set_bit(plane->cache->index, &priv->used_icb);
255 __clear_bit(plane->cache->index, &priv->used_icb);
269 struct sh_mobile_meram_fb_cache *cache,
273 struct sh_mobile_meram_icb *icb = cache->planes[0].marker;
280 meram_write_icb(priv->base, cache->planes[0].cache->index, target,
282 meram_write_icb(priv->base, cache->planes[0].marker->index, target,
283 base_addr_y + cache->planes[0].marker->cache_unit);
285 if (cache->nplanes == 2) {
286 meram_write_icb(priv->base, cache->planes[1].cache->index,
288 meram_write_icb(priv->base, cache->planes[1].marker->index,
290 cache->planes[1].marker->cache_unit);
297 struct sh_mobile_meram_fb_cache *cache,
300 struct sh_mobile_meram_icb *icb = cache->planes[0].marker;
308 *icb_addr_y = icb_offset | (cache->planes[0].marker->index << 24);
309 if (cache->nplanes == 2)
311 | (cache->planes[1].marker->index << 24);
356 meram_write_icb(priv->base, plane->cache->index, MExxBSIZE,
361 meram_write_icb(priv->base, plane->cache->index, MExxMNCF, bnm);
364 meram_write_icb(priv->base, plane->cache->index, MExxSBSIZE, xpitch);
367 /* save a cache unit size */
368 plane->cache->cache_unit = xres * save_lines;
377 meram_write_icb(priv->base, plane->cache->index, MExxCTL,
382 MERAM_MExxCTL_VAL(plane->cache->index, marker->offset +
394 meram_write_icb(priv->base, plane->cache->index, MExxCTL,
399 plane->cache->cache_unit = 0;
432 struct sh_mobile_meram_fb_cache *cache;
435 cache = kzalloc(sizeof(*cache), GFP_KERNEL);
436 if (cache == NULL)
439 cache->nplanes = nplanes;
441 ret = meram_plane_alloc(priv, &cache->planes[0],
446 cache->planes[0].marker->current_reg = 1;
447 cache->planes[0].marker->pixelformat = pixelformat;
449 if (cache->nplanes == 1)
450 return cache;
452 ret = meram_plane_alloc(priv, &cache->planes[1],
455 meram_plane_free(priv, &cache->planes[0]);
459 return cache;
462 kfree(cache);
471 struct sh_mobile_meram_fb_cache *cache;
503 cache = meram_cache_alloc(priv, cfg, pixelformat);
504 if (IS_ERR(cache)) {
506 PTR_ERR(cache));
511 meram_plane_init(priv, &cache->planes[0], xres, yres, &out_pitch);
514 meram_plane_init(priv, &cache->planes[1],
517 meram_plane_init(priv, &cache->planes[1],
522 return cache;
529 struct sh_mobile_meram_fb_cache *cache = data;
535 meram_plane_cleanup(priv, &cache->planes[0]);
536 meram_plane_free(priv, &cache->planes[0]);
538 if (cache->nplanes == 2) {
539 meram_plane_cleanup(priv, &cache->planes[1]);
540 meram_plane_free(priv, &cache->planes[1]);
543 kfree(cache);
556 struct sh_mobile_meram_fb_cache *cache = data;
561 meram_set_next_addr(priv, cache, base_addr_y, base_addr_c);
562 meram_get_next_icb_addr(pdata, cache, icb_addr_y, icb_addr_c);