search for: get_scanout_buffer

Displaying 6 results from an estimated 6 matches for "get_scanout_buffer".

2024 Oct 22
4
[PATCH v4 0/3] drm/nouveau: Add drm_panic support for nv50+
...rm_scanout_buffer". * Use nouveau_framebuffer_get_layout() to get the tiling parameters. * Have 2 set_pixel() functions, depending on GPU family. v4: * Refactor and move the tiling code from nouveau_display.c to dispnv50/tile.h, so that in can be re-used by drm_panic. (Lyude) * Refactor get_scanout_buffer() to use the new dispnv50/tile.h * use drm_warn() instead of pr_warn() in get_scanout_buffer Jocelyn Falempe (3): drm/panic: Add ABGR2101010 support drm/nouveau/disp: Move tiling functions to dispnv50/tile.h drm/nouveau: Add drm_panic support for nv50+ drivers/gpu/drm/drm_panic.c...
2024 Sep 13
1
[PATCH v3 2/2] drm/nouveau: Add drm_panic support for nv50+
...truct drm_plane_state *state) return 0; } +#define NV_TILE_BLK_BASE_HEIGHT_TESLA 4 /* In pixel */ +#define NV_TILE_BLK_BASE_HEIGHT 8 /* In pixel */ +#define NV_TILE_GOB_SIZE 64 /* In bytes */ +#define NV_TILE_BLK_WIDTH (NV_TILE_GOB_SIZE / 4) /* For 32 bits pixel */ + +/* Only used by drm_panic get_scanout_buffer() and set_pixel(), so it is + * protected by the drm panic spinlock + */ +static u32 nv50_panic_blk_h; + +/* Return the framebuffer offset of the start of the block where pixel(x,y) is */ +static u32 +nv50_get_block_off(unsigned int x, unsigned int y, unsigned int width) +{ + u32 blk_x, blk_y, blk_...
2024 Sep 06
3
[PATCH v2 0/3] drm/nouveau: Add drm_panic support for nv50+
This series adds basic drm_panic support for nouveau. Patches 1-2 Add missing bits in drm_panic (ABGR2101010, private data for set_pixel()) Patch 3 registers nouveau to drm_panic, and handle tiling. I've tested on a GTX1650, while running Gnome/Wayland desktop. It should work on other nv50+ cards, but I didn't test them. To test it, you need to build your kernel with CONFIG_DRM_PANIC=y,
2024 Oct 18
2
[PATCH v3 2/2] drm/nouveau: Add drm_panic support for nv50+
...YTES Since -technically- the size of a gob is much larger (from nouveau_display.c): if (drm->client.device.info.family < NV_DEVICE_INFO_V0_FERMI) gob_size = 256; else gob_size = 512; It's just you're only concerned about the width here. > + > +/* Only used by drm_panic get_scanout_buffer() and set_pixel(), so it is > + * protected by the drm panic spinlock > + */ > +static u32 nv50_panic_blk_h; > + > +/* Return the framebuffer offset of the start of the block where pixel(x,y) is */ > +static u32 > +nv50_get_block_off(unsigned int x, unsigned int y, unsigned int...
2024 Oct 21
1
[PATCH v3 2/2] drm/nouveau: Add drm_panic support for nv50+
...concerned about the width here. Ah thanks, actually I wasn't sure why my gob size was different. The corresponding define in nouveau_display.c is https://elixir.bootlin.com/linux/v6.11.4/source/drivers/gpu/drm/nouveau/nouveau_display.c#L229 > >> + >> +/* Only used by drm_panic get_scanout_buffer() and set_pixel(), so it is >> + * protected by the drm panic spinlock >> + */ >> +static u32 nv50_panic_blk_h; >> + >> +/* Return the framebuffer offset of the start of the block where pixel(x,y) is */ >> +static u32 >> +nv50_get_block_off(unsigned int x,...
2024 Sep 13
3
[PATCH v3 0/2] drm/nouveau: Add drm_panic support for nv50+
This series adds basic drm_panic support for nouveau. Patches 1 Add ABGR2101010 support in drm_panic. Patch 2 registers nouveau to drm_panic, and handle tiling. I've tested on a GTX1650 (Turing) and GF 8800 GT (Tesla), while running Gnome/Wayland desktop, and in VT. It should work on other nv50+ cards, but I didn't test them. To test it, you need to build your kernel with