[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <517b7144-9612-2249-cff6-cdebcb628f7b@daenzer.net>
Date: Wed, 21 Jun 2017 17:36:08 +0900
From: Michel Dänzer <michel@...nzer.net>
To: Peter Rosin <peda@...ntia.se>,
Philippe Cornu <philippe.cornu@...com>,
Christian König <christian.koenig@....com>,
Yannick Fertre <yannick.fertre@...com>,
Gerd Hoffmann <kraxel@...hat.com>,
Daniel Vetter <daniel.vetter@...el.com>,
Alex Deucher <alexander.deucher@....com>,
Dave Airlie <airlied@...hat.com>,
Vincent Abriou <vincent.abriou@...com>,
Ben Skeggs <bskeggs@...hat.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
Cc: nouveau@...ts.freedesktop.org, intel-gfx@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
virtualization@...ts.linux-foundation.org,
amd-gfx@...ts.freedesktop.org, linux-fbdev@...r.kernel.org
Subject: Re: [Nouveau] [PATCH 01/11] drm/fb-helper: do a generic fb_setcmap
helper in terms of crtc .gamma_set
On 21/06/17 05:14 PM, Daniel Vetter wrote:
> On Wed, Jun 21, 2017 at 04:59:31PM +0900, Michel Dänzer wrote:
>> On 21/06/17 04:38 PM, Daniel Vetter wrote:
>>> On Tue, Jun 20, 2017 at 09:25:25PM +0200, Peter Rosin wrote:
>>>> This makes the redundant fb helpers .load_lut, .gamma_set and .gamma_get
>>>> totally obsolete.
>>>>
>>>> I think the gamma_store can end up invalid on error. But the way I read
>>>> it, that can happen in drm_mode_gamma_set_ioctl as well, so why should
>>>> this pesky legacy fbdev stuff be any better?
>>>>
>>>> drm_fb_helper_save_lut_atomic justs saves the gamma lut for later. However,
>>>> it saves it to the gamma_store which should already be up to date with what
>>>> .gamma_get would return and is thus a nop. So, zap it.
>>>
>>> Removing drm_fb_helper_save_lut_atomic should be a separate patch I
>>> think.
>>>
>>>> Signed-off-by: Peter Rosin <peda@...ntia.se>
>>
>> [...]
>>
>>>> @@ -1167,50 +1150,6 @@ void drm_fb_helper_set_suspend_unlocked(struct drm_fb_helper *fb_helper,
>>>> }
>>>> EXPORT_SYMBOL(drm_fb_helper_set_suspend_unlocked);
>>>>
>>>> -static int setcolreg(struct drm_crtc *crtc, u16 red, u16 green,
>>>> - u16 blue, u16 regno, struct fb_info *info)
>>>> -{
>>>> - struct drm_fb_helper *fb_helper = info->par;
>>>> - struct drm_framebuffer *fb = fb_helper->fb;
>>>> -
>>>> - if (info->fix.visual == FB_VISUAL_TRUECOLOR) {
>>>
>>> This case here seems gone, and it was also the pièce de résistance when I
>>> tried tackling fbdev lut support. As far as I understand this stuff we do
>>> not support FB_VISUAL_TRUECOLOR palette, and all that bitshifting here is
>>> pointless. But I'm honestly not really clear.
>>>
>>> I think removing this case should also be a separate patch, and I'd very
>>> much prefer that someone with some fbdev-clue would ack it.
>>
>> No need for anyone with fbdev-clue, just run fbset -i. :)
Adding Bartlomiej and the linux-fbdev list, just in case I'm wrong below.
>> fbcon uses a TRUECOLOR visual at depths > 8.
>
> Then I understand even less what exactly this code does ... Should we keep
> it?
I think we need it. It updates the entries of info->pseudo_palette,
which is kind of a pseudocolor palette mapping 16 indices to pixel
values to write to the framebuffer.
If the setcolreg hook is removed, the setcmap hook needs to do this instead.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
Powered by blists - more mailing lists