Re: [PATCH 2/3] drm/panic: Add a set_pixel() callback to drm_scanout_buffer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jocelyn Falempe <jfalempe@xxxxxxxxxx> writes:

> This allows drivers to draw the pixel, and handle tiling, or specific
> color formats.
>
> Signed-off-by: Jocelyn Falempe <jfalempe@xxxxxxxxxx>
> ---
>  drivers/gpu/drm/drm_panic.c | 120 +++++++++++++++++++++++-------------
>  include/drm/drm_panic.h     |   9 +++
>  2 files changed, 85 insertions(+), 44 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_panic.c b/drivers/gpu/drm/drm_panic.c
> index 9d95c7eaae83..27e26b9d842c 100644
> --- a/drivers/gpu/drm/drm_panic.c
> +++ b/drivers/gpu/drm/drm_panic.c
> @@ -241,40 +241,54 @@ static void drm_panic_blit32(struct iosys_map *dmap, unsigned int dpitch,
>  				iosys_map_wr(dmap, y * dpitch + x * sizeof(u32), u32, color);
>  }
>  
> +static void drm_panic_blit_pixel(struct drm_scanout_buffer *sb, struct drm_rect *clip,
> +				 const u8 *sbuf8, unsigned int spitch, u32 color)
> +{
> +	unsigned int y, x;
> +
> +	for (y = 0; y < drm_rect_height(clip); y++)
> +		for (x = 0; x < drm_rect_width(clip); x++)
> +			if (sbuf8[(y * spitch) + x / 8] & (0x80 >> (x % 8)))

You have the same check for fb vs bg in all your blit helpers, so maybe
this can be a macro or static inline function instead ? That would also
help with the issue I mentioned about making the logic easier to read.

Reviewed-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux