zcomp
struct zcomp_strm *zcomp_stream_get(struct zcomp *comp)
int zcomp_compress(struct zcomp *comp, struct zcomp_strm *zstrm,
int zcomp_decompress(struct zcomp *comp, struct zcomp_strm *zstrm,
struct zcomp *comp = hlist_entry(node, struct zcomp, node);
struct zcomp *comp = hlist_entry(node, struct zcomp, node);
static int zcomp_init(struct zcomp *comp, struct zcomp_params *params)
void zcomp_destroy(struct zcomp *comp)
struct zcomp *zcomp_create(const char *alg, struct zcomp_params *params)
struct zcomp *comp;
comp = kzalloc_obj(struct zcomp);
static void zcomp_strm_free(struct zcomp *comp, struct zcomp_strm *zstrm)
static int zcomp_strm_init(struct zcomp *comp, struct zcomp_strm *zstrm)
struct zcomp *zcomp_create(const char *alg, struct zcomp_params *params);
void zcomp_destroy(struct zcomp *comp);
struct zcomp_strm *zcomp_stream_get(struct zcomp *comp);
int zcomp_compress(struct zcomp *comp, struct zcomp_strm *zstrm,
int zcomp_decompress(struct zcomp *comp, struct zcomp_strm *zstrm,
struct zcomp *comp = zram->comps[prio];
struct zcomp *comp;
struct zcomp *comps[ZRAM_MAX_COMPS];
u32 zcomp;
nvkm_wr32(device, NV20_PGRAPH_ZCOMP(i), tile->zcomp);
nvkm_wr32(device, NV10_PGRAPH_RDI_DATA, tile->zcomp);
nvkm_wr32(device, NV20_PGRAPH_ZCOMP(i), tile->zcomp);
nvkm_wr32(device, NV40_PGRAPH_ZCOMP1(i), tile->zcomp);
nvkm_wr32(device, NV41_PGRAPH_ZCOMP0(i), tile->zcomp);
nvkm_wr32(device, NV41_PGRAPH_ZCOMP1(i), tile->zcomp);
nvkm_wr32(device, NV47_PGRAPH_ZCOMP0(i), tile->zcomp);
nvkm_wr32(device, NV47_PGRAPH_ZCOMP1(i), tile->zcomp);
tile->zcomp = 0;
if (!(flags & 2)) tile->zcomp = 0x00000000; /* Z16 */
else tile->zcomp = 0x04000000; /* Z24S8 */
tile->zcomp |= tile->tag->offset;
tile->zcomp |= 0x80000000; /* enable */
tile->zcomp |= 0x08000000;
tile->zcomp = 0;
nvkm_wr32(device, 0x100300 + (i * 0x04), tile->zcomp);
if (!(flags & 2)) tile->zcomp = 0x00100000; /* Z16 */
else tile->zcomp = 0x00200000; /* Z24S8 */
tile->zcomp |= tile->tag->offset;
tile->zcomp |= 0x01000000;
if (flags & 2) tile->zcomp |= 0x01000000; /* Z16 */
else tile->zcomp |= 0x02000000; /* Z24S8 */
tile->zcomp |= ((tile->tag->offset ) >> 6);
tile->zcomp |= ((tile->tag->offset + tags - 1) >> 6) << 12;
tile->zcomp |= 0x10000000;
if (flags & 2) tile->zcomp |= 0x04000000; /* Z16 */
else tile->zcomp |= 0x08000000; /* Z24S8 */
tile->zcomp |= ((tile->tag->offset ) >> 6);
tile->zcomp |= ((tile->tag->offset + tags - 1) >> 6) << 13;
tile->zcomp |= 0x40000000;
if (flags & 2) tile->zcomp |= 0x10000000; /* Z16 */
else tile->zcomp |= 0x20000000; /* Z24S8 */
tile->zcomp |= ((tile->tag->offset ) >> 6);
tile->zcomp |= ((tile->tag->offset + tags - 1) >> 6) << 14;
tile->zcomp |= 0x80000000;
tile->zcomp = 0x28000000; /* Z24S8_SPLIT_GRAD */
tile->zcomp |= ((tile->tag->offset ) >> 8);
tile->zcomp |= ((tile->tag->offset + tags - 1) >> 8) << 13;
tile->zcomp |= 0x40000000;
nvkm_wr32(device, 0x100700 + (i * 0x04), tile->zcomp);