Loading drivers/gpu/drm/nouveau/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ nouveau-y += core/subdev/fb/nv20.o nouveau-y += core/subdev/fb/nv25.o nouveau-y += core/subdev/fb/nv30.o nouveau-y += core/subdev/fb/nv35.o nouveau-y += core/subdev/fb/nv36.o nouveau-y += core/subdev/fb/nv40.o nouveau-y += core/subdev/fb/nv41.o nouveau-y += core/subdev/fb/nv44.o Loading drivers/gpu/drm/nouveau/core/include/subdev/fb.h +1 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,7 @@ extern struct nouveau_oclass nv20_fb_oclass; extern struct nouveau_oclass nv25_fb_oclass; extern struct nouveau_oclass nv30_fb_oclass; extern struct nouveau_oclass nv35_fb_oclass; extern struct nouveau_oclass nv36_fb_oclass; extern struct nouveau_oclass nv40_fb_oclass; extern struct nouveau_oclass nv41_fb_oclass; extern struct nouveau_oclass nv44_fb_oclass; Loading drivers/gpu/drm/nouveau/core/subdev/device/nv30.c +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ nv30_identify(struct nouveau_device *device) device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass; device->oclass[NVDEV_SUBDEV_MC ] = &nv04_mc_oclass; device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass; device->oclass[NVDEV_SUBDEV_FB ] = &nv35_fb_oclass; device->oclass[NVDEV_SUBDEV_FB ] = &nv36_fb_oclass; device->oclass[NVDEV_SUBDEV_INSTMEM] = &nv04_instmem_oclass; device->oclass[NVDEV_SUBDEV_VM ] = &nv04_vmmgr_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = &nv04_dmaeng_oclass; Loading drivers/gpu/drm/nouveau/core/subdev/fb/nv30.c +11 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,17 @@ static void nv30_fb_tile_comp(struct nouveau_fb *pfb, int i, u32 size, u32 flags, struct nouveau_fb_tile *tile) { tile->zcomp = 0x00000000; u32 tiles = DIV_ROUND_UP(size, 0x40); u32 tags = round_up(tiles / pfb->ram.parts, 0x40); if (!nouveau_mm_head(&pfb->tags, 1, tags, tags, 1, &tile->tag)) { 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; #ifdef __BIG_ENDIAN tile->zcomp |= 0x10000000; #endif } } static int Loading drivers/gpu/drm/nouveau/core/subdev/fb/nv35.c +11 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,17 @@ static void nv35_fb_tile_comp(struct nouveau_fb *pfb, int i, u32 size, u32 flags, struct nouveau_fb_tile *tile) { tile->zcomp = 0x00000000; u32 tiles = DIV_ROUND_UP(size, 0x40); u32 tags = round_up(tiles / pfb->ram.parts, 0x40); if (!nouveau_mm_head(&pfb->tags, 1, tags, tags, 1, &tile->tag)) { 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; #ifdef __BIG_ENDIAN tile->zcomp |= 0x40000000; #endif } } static int Loading Loading
drivers/gpu/drm/nouveau/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ nouveau-y += core/subdev/fb/nv20.o nouveau-y += core/subdev/fb/nv25.o nouveau-y += core/subdev/fb/nv30.o nouveau-y += core/subdev/fb/nv35.o nouveau-y += core/subdev/fb/nv36.o nouveau-y += core/subdev/fb/nv40.o nouveau-y += core/subdev/fb/nv41.o nouveau-y += core/subdev/fb/nv44.o Loading
drivers/gpu/drm/nouveau/core/include/subdev/fb.h +1 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,7 @@ extern struct nouveau_oclass nv20_fb_oclass; extern struct nouveau_oclass nv25_fb_oclass; extern struct nouveau_oclass nv30_fb_oclass; extern struct nouveau_oclass nv35_fb_oclass; extern struct nouveau_oclass nv36_fb_oclass; extern struct nouveau_oclass nv40_fb_oclass; extern struct nouveau_oclass nv41_fb_oclass; extern struct nouveau_oclass nv44_fb_oclass; Loading
drivers/gpu/drm/nouveau/core/subdev/device/nv30.c +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ nv30_identify(struct nouveau_device *device) device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass; device->oclass[NVDEV_SUBDEV_MC ] = &nv04_mc_oclass; device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass; device->oclass[NVDEV_SUBDEV_FB ] = &nv35_fb_oclass; device->oclass[NVDEV_SUBDEV_FB ] = &nv36_fb_oclass; device->oclass[NVDEV_SUBDEV_INSTMEM] = &nv04_instmem_oclass; device->oclass[NVDEV_SUBDEV_VM ] = &nv04_vmmgr_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = &nv04_dmaeng_oclass; Loading
drivers/gpu/drm/nouveau/core/subdev/fb/nv30.c +11 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,17 @@ static void nv30_fb_tile_comp(struct nouveau_fb *pfb, int i, u32 size, u32 flags, struct nouveau_fb_tile *tile) { tile->zcomp = 0x00000000; u32 tiles = DIV_ROUND_UP(size, 0x40); u32 tags = round_up(tiles / pfb->ram.parts, 0x40); if (!nouveau_mm_head(&pfb->tags, 1, tags, tags, 1, &tile->tag)) { 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; #ifdef __BIG_ENDIAN tile->zcomp |= 0x10000000; #endif } } static int Loading
drivers/gpu/drm/nouveau/core/subdev/fb/nv35.c +11 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,17 @@ static void nv35_fb_tile_comp(struct nouveau_fb *pfb, int i, u32 size, u32 flags, struct nouveau_fb_tile *tile) { tile->zcomp = 0x00000000; u32 tiles = DIV_ROUND_UP(size, 0x40); u32 tags = round_up(tiles / pfb->ram.parts, 0x40); if (!nouveau_mm_head(&pfb->tags, 1, tags, tags, 1, &tile->tag)) { 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; #ifdef __BIG_ENDIAN tile->zcomp |= 0x40000000; #endif } } static int Loading