All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: airlied@redhat.com, emil.l.velikov@gmail.com, kraxel@redhat.com,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2 12/14] drm/ast: Replace struct ast_crtc with struct drm_crtc
Date: Fri, 3 Jul 2020 08:51:31 +0200	[thread overview]
Message-ID: <59bd0ea8-ab95-5e37-287c-021c33e6556d@suse.de> (raw)
In-Reply-To: <20200703063848.GA1690637@ravnborg.org>


[-- Attachment #1.1.1: Type: text/plain, Size: 3604 bytes --]

Hi Sam

Am 03.07.20 um 08:38 schrieb Sam Ravnborg:
> Hi Thomas.
> 
> Just browsing code..
> 
> On Thu, Jul 02, 2020 at 01:50:27PM +0200, Thomas Zimmermann wrote:
>> Struct ast_crtc has been cleaned up and it's now a wrapper around the
>> DRM CRTC structure struct drm_crtc. This patch converts the driver to
>> struct drm_crtc and removes struct ast_crtc.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> 
> Why is it we cannot embed struct drm_crtc?

I want to do that in a later patchset. The conversion to managed code is
fairly large, so thought it might be better to do it in several rounds.

This patchset is only for modesetting. I have another patchset that
converts the memory management to managed interfaces. After that the
final patchset will address device structures. Embedding everything CRTC
and other structures in struct ast_private would be part of this.

If you prefer a longer patchset that does everything, let me know.

> And I also failed to see where is is de-allocated - but surely I miss
> something obvious here.

It's freed in ast_crtc_destroy().

Best regards
Thomas

> 
> 	Sam
> 
>> ---
>>  drivers/gpu/drm/ast/ast_drv.h  |  5 -----
>>  drivers/gpu/drm/ast/ast_mode.c | 11 ++++++-----
>>  2 files changed, 6 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
>> index ea4de3dce2c4..77226e2fd7c0 100644
>> --- a/drivers/gpu/drm/ast/ast_drv.h
>> +++ b/drivers/gpu/drm/ast/ast_drv.h
>> @@ -238,11 +238,6 @@ struct ast_connector {
>>  	struct ast_i2c_chan *i2c;
>>  };
>>  
>> -struct ast_crtc {
>> -	struct drm_crtc base;
>> -};
>> -
>> -#define to_ast_crtc(x) container_of(x, struct ast_crtc, base)
>>  #define to_ast_connector(x) container_of(x, struct ast_connector, base)
>>  
>>  struct ast_vbios_stdtable {
>> diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
>> index 89d9ee0a9e81..43c9686ba0f7 100644
>> --- a/drivers/gpu/drm/ast/ast_mode.c
>> +++ b/drivers/gpu/drm/ast/ast_mode.c
>> @@ -881,21 +881,22 @@ static const struct drm_crtc_funcs ast_crtc_funcs = {
>>  static int ast_crtc_init(struct drm_device *dev)
>>  {
>>  	struct ast_private *ast = to_ast_private(dev);
>> -	struct ast_crtc *crtc;
>> +	struct drm_crtc *crtc;
>>  	int ret;
>>  
>> -	crtc = kzalloc(sizeof(struct ast_crtc), GFP_KERNEL);
>> +	crtc = kzalloc(sizeof(*crtc), GFP_KERNEL);
>>  	if (!crtc)
>>  		return -ENOMEM;
>>  
>> -	ret = drm_crtc_init_with_planes(dev, &crtc->base, &ast->primary_plane,
>> +	ret = drm_crtc_init_with_planes(dev, crtc, &ast->primary_plane,
>>  					&ast->cursor_plane, &ast_crtc_funcs,
>>  					NULL);
>>  	if (ret)
>>  		goto err_kfree;
>>  
>> -	drm_mode_crtc_set_gamma_size(&crtc->base, 256);
>> -	drm_crtc_helper_add(&crtc->base, &ast_crtc_helper_funcs);
>> +	drm_mode_crtc_set_gamma_size(crtc, 256);
>> +	drm_crtc_helper_add(crtc, &ast_crtc_helper_funcs);
>> +
>>  	return 0;
>>  
>>  err_kfree:
>> -- 
>> 2.27.0
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 516 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-07-03  6:51 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-02 11:50 [PATCH v2 00/14] drm/ast: Managed modesetting Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 01/14] drm/ast: Move cursor functions to ast_cursor.c Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 02/14] drm/ast: Pass struct ast_private instance to cursor init/fini functions Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 03/14] drm/ast: Move cursor fb pinning and mapping into helper Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 04/14] drm/ast: Update cursor image and checksum from same function Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 05/14] drm/ast: Move cursor pageflip into helper Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 06/14] drm/ast: Replace ast_cursor_move() with ast_cursor_show() Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 07/14] drm/ast: Don't enable HW cursors twice during atomic update Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 08/14] drm/ast: Add helper to hide cursor Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 09/14] drm/ast: Keep cursor HW BOs mapped Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 10/14] drm/ast: Managed cursor release Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 11/14] drm/ast: Init cursors before creating modesetting structures Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 12/14] drm/ast: Replace struct ast_crtc with struct drm_crtc Thomas Zimmermann
2020-07-03  6:38   ` Sam Ravnborg
2020-07-03  6:51     ` Thomas Zimmermann [this message]
2020-07-03 11:11       ` Sam Ravnborg
2020-07-02 11:50 ` [PATCH v2 13/14] drm/ast: Use managed mode-config init Thomas Zimmermann
2020-07-02 11:50 ` [PATCH v2 14/14] drm/ast: Initialize mode setting in ast_mode_config_init() Thomas Zimmermann
2020-07-03  6:44 ` [PATCH v2 00/14] drm/ast: Managed modesetting Sam Ravnborg
2020-07-03  6:53   ` Thomas Zimmermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=59bd0ea8-ab95-5e37-287c-021c33e6556d@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emil.l.velikov@gmail.com \
    --cc=kraxel@redhat.com \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.