All of lore.kernel.org
 help / color / mirror / Atom feed
From: jeffy <jeffy.chen@rock-chips.com>
To: Sean Paul <seanpaul@chromium.org>
Cc: linux-kernel@vger.kernel.org, briannorris@chromium.org,
	dianders@chromium.org, tfiga@chromium.org, zyw@rock-chips.com,
	mark.yao@rock-chips.com, Heiko Stuebner <heiko@sntech.de>,
	dri-devel@lists.freedesktop.org,
	linux-rockchip@lists.infradead.org,
	David Airlie <airlied@linux.ie>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 5/9] drm/rockchip: vop: Enable pm domain when resetting vop
Date: Wed, 05 Apr 2017 18:23:38 +0800	[thread overview]
Message-ID: <58E4C5AA.3000804@rock-chips.com> (raw)
In-Reply-To: <20170404194234.vhsedpjkf6eqz4oe@art_vandelay>

Hi Sean,

On 04/05/2017 03:42 AM, Sean Paul wrote:
> On Sat, Apr 01, 2017 at 07:35:25PM +0800, Jeffy Chen wrote:
>
> Hi Jeffy,
> Could you please add commit messages describing *why* you're making the change?
> It might be obvious to you (and maybe me), but others will benefit from better
> descriptions.
ok, will do.
>
>> Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
>> ---
>>
>> Changes in v2: None
>>
>>   drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 31 +++++++++++++++++++----------
>>   1 file changed, 21 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
>> index 76c79ac..1d85319 100644
>> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
>> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
>> @@ -1365,6 +1365,12 @@ static int vop_initial(struct vop *vop)
>>   		return ret;
>>   	}
>>
>> +	ret = pm_runtime_get_sync(vop->dev);
>> +	if (ret < 0) {
>> +		dev_err(vop->dev, "failed to get pm runtime: %d\n", ret);
>> +		goto err_put_pm_runtime;
>
> This should go to err_unprepare_dclk, the next error condition should go to
> err_put_pm_runtime
hmm, that's true, i copied it from vop_enable without a double 
check...will fix that too.
>
>> +	}
>> +
>>   	/* Enable both the hclk and aclk to setup the vop */
>>   	ret = clk_prepare_enable(vop->hclk);
>>   	if (ret < 0) {
>> @@ -1422,6 +1428,8 @@ static int vop_initial(struct vop *vop)
>>
>>   	vop->is_enabled = false;
>>
>> +	pm_runtime_put_sync(vop->dev);
>> +
>>   	return 0;
>>
>>   err_disable_aclk:
>> @@ -1430,6 +1438,8 @@ static int vop_initial(struct vop *vop)
>>   	clk_disable_unprepare(vop->hclk);
>>   err_unprepare_dclk:
>>   	clk_unprepare(vop->dclk);
>> +err_put_pm_runtime:
>> +	pm_runtime_put_sync(vop->dev);
>
> Should be above err_unprepare_dclk
>
oh, too careless, thanx for pointing that out.
>>   	return ret;
>>   }
>>
>> @@ -1530,12 +1540,6 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
>>   	if (!vop->regsbak)
>>   		return -ENOMEM;
>>
>> -	ret = vop_initial(vop);
>> -	if (ret < 0) {
>> -		dev_err(&pdev->dev, "cannot initial vop dev - err %d\n", ret);
>> -		return ret;
>> -	}
>> -
>>   	irq = platform_get_irq(pdev, 0);
>>   	if (irq < 0) {
>>   		dev_err(dev, "cannot find irq for vop\n");
>> @@ -1556,15 +1560,22 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
>>   	/* IRQ is initially disabled; it gets enabled in power_on */
>>   	disable_irq(vop->irq);
>>
>> +	pm_runtime_enable(&pdev->dev);
>> +
>> +	ret = vop_initial(vop);
>> +	if (ret < 0) {
>> +		dev_err(&pdev->dev, "cannot initial vop dev - err %d\n", ret);
>> +		goto err_disable_pm_runtime;
>> +	}
>
> This function move would be a lot easier to understand with a commit message ;-)
>
ok
>> +
>>   	ret = vop_create_crtc(vop);
>>   	if (ret)
>> -		goto err_enable_irq;
>> -
>> -	pm_runtime_enable(&pdev->dev);
>> +		goto err_disable_pm_runtime;
>
> Do you have anything to clean up from vop_initial()?
>
i'll put it to the end of bind ;)
>>
>>   	return 0;
>>
>> -err_enable_irq:
>> +err_disable_pm_runtime:
>> +	pm_runtime_disable(&pdev->dev);
>>   	enable_irq(vop->irq); /* To balance out the disable_irq above */
>>   	return ret;
>>   }
>> --
>> 2.1.4
>>
>

WARNING: multiple messages have this Message-ID (diff)
From: jeffy.chen@rock-chips.com (jeffy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 5/9] drm/rockchip: vop: Enable pm domain when resetting vop
Date: Wed, 05 Apr 2017 18:23:38 +0800	[thread overview]
Message-ID: <58E4C5AA.3000804@rock-chips.com> (raw)
In-Reply-To: <20170404194234.vhsedpjkf6eqz4oe@art_vandelay>

Hi Sean,

On 04/05/2017 03:42 AM, Sean Paul wrote:
> On Sat, Apr 01, 2017 at 07:35:25PM +0800, Jeffy Chen wrote:
>
> Hi Jeffy,
> Could you please add commit messages describing *why* you're making the change?
> It might be obvious to you (and maybe me), but others will benefit from better
> descriptions.
ok, will do.
>
>> Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
>> ---
>>
>> Changes in v2: None
>>
>>   drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 31 +++++++++++++++++++----------
>>   1 file changed, 21 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
>> index 76c79ac..1d85319 100644
>> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
>> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
>> @@ -1365,6 +1365,12 @@ static int vop_initial(struct vop *vop)
>>   		return ret;
>>   	}
>>
>> +	ret = pm_runtime_get_sync(vop->dev);
>> +	if (ret < 0) {
>> +		dev_err(vop->dev, "failed to get pm runtime: %d\n", ret);
>> +		goto err_put_pm_runtime;
>
> This should go to err_unprepare_dclk, the next error condition should go to
> err_put_pm_runtime
hmm, that's true, i copied it from vop_enable without a double 
check...will fix that too.
>
>> +	}
>> +
>>   	/* Enable both the hclk and aclk to setup the vop */
>>   	ret = clk_prepare_enable(vop->hclk);
>>   	if (ret < 0) {
>> @@ -1422,6 +1428,8 @@ static int vop_initial(struct vop *vop)
>>
>>   	vop->is_enabled = false;
>>
>> +	pm_runtime_put_sync(vop->dev);
>> +
>>   	return 0;
>>
>>   err_disable_aclk:
>> @@ -1430,6 +1438,8 @@ static int vop_initial(struct vop *vop)
>>   	clk_disable_unprepare(vop->hclk);
>>   err_unprepare_dclk:
>>   	clk_unprepare(vop->dclk);
>> +err_put_pm_runtime:
>> +	pm_runtime_put_sync(vop->dev);
>
> Should be above err_unprepare_dclk
>
oh, too careless, thanx for pointing that out.
>>   	return ret;
>>   }
>>
>> @@ -1530,12 +1540,6 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
>>   	if (!vop->regsbak)
>>   		return -ENOMEM;
>>
>> -	ret = vop_initial(vop);
>> -	if (ret < 0) {
>> -		dev_err(&pdev->dev, "cannot initial vop dev - err %d\n", ret);
>> -		return ret;
>> -	}
>> -
>>   	irq = platform_get_irq(pdev, 0);
>>   	if (irq < 0) {
>>   		dev_err(dev, "cannot find irq for vop\n");
>> @@ -1556,15 +1560,22 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
>>   	/* IRQ is initially disabled; it gets enabled in power_on */
>>   	disable_irq(vop->irq);
>>
>> +	pm_runtime_enable(&pdev->dev);
>> +
>> +	ret = vop_initial(vop);
>> +	if (ret < 0) {
>> +		dev_err(&pdev->dev, "cannot initial vop dev - err %d\n", ret);
>> +		goto err_disable_pm_runtime;
>> +	}
>
> This function move would be a lot easier to understand with a commit message ;-)
>
ok
>> +
>>   	ret = vop_create_crtc(vop);
>>   	if (ret)
>> -		goto err_enable_irq;
>> -
>> -	pm_runtime_enable(&pdev->dev);
>> +		goto err_disable_pm_runtime;
>
> Do you have anything to clean up from vop_initial()?
>
i'll put it to the end of bind ;)
>>
>>   	return 0;
>>
>> -err_enable_irq:
>> +err_disable_pm_runtime:
>> +	pm_runtime_disable(&pdev->dev);
>>   	enable_irq(vop->irq); /* To balance out the disable_irq above */
>>   	return ret;
>>   }
>> --
>> 2.1.4
>>
>

  reply	other threads:[~2017-04-05 10:23 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-01 11:35 [PATCH v2 0/9] drm: rockchip: Fix rockchip drm unbind crash error Jeffy Chen
2017-04-01 11:35 ` Jeffy Chen
2017-04-01 11:35 ` [PATCH v2 1/9] drm: bridge: analogix: Detach panel when unbinding analogix dp Jeffy Chen
2017-04-01 11:35 ` [PATCH v2 2/9] drm: bridge: analogix: Unregister dp aux when unbinding Jeffy Chen
2017-04-01 11:35 ` [PATCH v2 3/9] drm: bridge: analogix: Destroy connector " Jeffy Chen
2017-04-01 11:35 ` [PATCH v2 4/9] drm/rockchip: cdn-dp: Don't try to release firmware when not loaded Jeffy Chen
2017-04-01 11:35   ` Jeffy Chen
2017-04-01 11:35 ` [PATCH v2 5/9] drm/rockchip: vop: Enable pm domain when resetting vop Jeffy Chen
2017-04-01 11:35   ` Jeffy Chen
2017-04-01 11:35   ` Jeffy Chen
2017-04-04 19:42   ` Sean Paul
2017-04-04 19:42     ` Sean Paul
2017-04-04 19:42     ` Sean Paul
2017-04-05 10:23     ` jeffy [this message]
2017-04-05 10:23       ` jeffy
2017-04-01 11:35 ` [PATCH v2 6/9] drm/rockchip: Reoder unload sequence Jeffy Chen
2017-04-01 11:35   ` Jeffy Chen
2017-04-04 19:44   ` Sean Paul
2017-04-04 19:44     ` Sean Paul
2017-04-04 19:44     ` Sean Paul
2017-04-05 10:20     ` jeffy
2017-04-05 10:20       ` jeffy
2017-04-05 10:20       ` jeffy
2017-04-01 11:35 ` [PATCH v2 7/9] drm/rockchip: Force disable all crtc when unload Jeffy Chen
2017-04-01 11:35   ` Jeffy Chen
2017-04-03  7:58   ` Daniel Vetter
2017-04-03  7:58     ` Daniel Vetter
2017-04-03  7:58     ` Daniel Vetter
2017-04-05 10:25     ` jeffy
2017-04-05 10:25       ` jeffy
2017-04-01 11:35 ` [PATCH v2 8/9] drm/rockchip: gem: Don't alloc/free gem buf before drm dev registered Jeffy Chen
2017-04-01 11:35   ` Jeffy Chen
2017-04-03  7:41   ` Daniel Vetter
2017-04-03  7:41     ` Daniel Vetter
2017-04-03  7:41     ` Daniel Vetter
2017-04-05  1:28     ` jeffy
2017-04-05  1:28       ` jeffy
2017-04-01 11:35 ` [PATCH v2 9/9] drm/rockchip: cdn-dp: Don't unregister audio dev when unbinding Jeffy Chen
2017-04-01 11:35   ` Jeffy Chen

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=58E4C5AA.3000804@rock-chips.com \
    --to=jeffy.chen@rock-chips.com \
    --cc=airlied@linux.ie \
    --cc=briannorris@chromium.org \
    --cc=dianders@chromium.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mark.yao@rock-chips.com \
    --cc=seanpaul@chromium.org \
    --cc=tfiga@chromium.org \
    --cc=zyw@rock-chips.com \
    /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.