[PATCH 7/7] drm/amd/display: Replace DRM private objects with subclassed DRM atomic state

Kazlauskas, Nicholas nicholas.kazlauskas at amd.com
Fri Aug 7 14:32:11 UTC 2020


On 2020-08-07 4:52 a.m., daniel at ffwll.ch wrote:
> On Thu, Jul 30, 2020 at 04:36:42PM -0400, Nicholas Kazlauskas wrote:
>> @@ -440,7 +431,7 @@ struct dm_crtc_state {
>>   #define to_dm_crtc_state(x) container_of(x, struct dm_crtc_state, base)
>>   
>>   struct dm_atomic_state {
>> -	struct drm_private_state base;
>> +	struct drm_atomic_state base;
>>   
>>   	struct dc_state *context;
> 
> Also curiosity: Can't we just embed dc_state here, instead of a pointer?
> Then it would become a lot more obvious that mostly this is a state object
> container like drm_atomic_state, but for the DC specific state structures.
> And we could look into moving the actual DC states into drm private states
> perhaps (if that helps with the code structure and overall flow).
> 
> Maybe as next steps.
> -Daniel
> 

It's the refcounting that's the problem with this stuff. I'd like to 
move DC to a model where we have no memory allocation/ownership but that 
might be a bit of a more long term plan at this point.

Same with dc_plane_state and dc_stream_state as well - these could exist 
on the DRM objects as long as they're not refcounted.

Regards,
Nicholas Kazlauskas


More information about the dri-devel mailing list