From: Jani Nikula <jani.nikula@linux.intel.com>
To: "Leizhen \(ThunderTown\)" <thunder.leizhen@huawei.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
intel-gfx <intel-gfx@lists.freedesktop.org>,
dri-devel <dri-devel@lists.freedesktop.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [Intel-gfx] [PATCH 1/1] drm/i915/hdcp: Simplify code in intel_hdcp_auth_downstream()
Date: Mon, 31 May 2021 13:36:08 +0300 [thread overview]
Message-ID: <87wnrfqjfr.fsf@intel.com> (raw)
In-Reply-To: <86f64463-87df-9e62-a5ea-f411fcb54c19@huawei.com>
On Fri, 28 May 2021, "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com> wrote:
> On 2021/5/27 18:04, Jani Nikula wrote:
>> On Thu, 27 May 2021, Zhen Lei <thunder.leizhen@huawei.com> wrote:
>>> If intel_hdcp_validate_v_prime() has been successful within the allowed
>>> number of tries, we can directly call drm_dbg_kms() and "goto out" without
>>> jumping out of the loop and repeatedly judging whether the operation is
>>> successful. This can help us reduce an unnecessary if judgment. And it's
>>> a little clearer to read.
>>
>> Generally I think the "happy day scenario" should be at the topmost
>> indentation level and not buried in the ifs with a goto exit.
>
> for (xxx) {
> if (a == b)
> return found;
> }
>
> At least this way of writing is common.
Yes, if the loop is abstracted to a separate function.
BR,
Jani.
>
>
>>
>> BR,
>> Jani.
>>
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
>>> ---
>>> drivers/gpu/drm/i915/display/intel_hdcp.c | 24 ++++++++++-------------
>>> 1 file changed, 10 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
>>> index d8570e14fe60..c32a854eda66 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
>>> @@ -663,13 +663,13 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
>>>
>>> ret = shim->read_ksv_fifo(dig_port, num_downstream, ksv_fifo);
>>> if (ret)
>>> - goto err;
>>> + goto out;
>>>
>>> if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, ksv_fifo,
>>> num_downstream) > 0) {
>>> drm_err(&dev_priv->drm, "Revoked Ksv(s) in ksv_fifo\n");
>>> ret = -EPERM;
>>> - goto err;
>>> + goto out;
>>> }
>>>
>>> /*
>>> @@ -680,20 +680,16 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
>>> ret = intel_hdcp_validate_v_prime(connector, shim,
>>> ksv_fifo, num_downstream,
>>> bstatus);
>>> - if (!ret)
>>> - break;
>>> - }
>>> -
>>> - if (i == tries) {
>>> - drm_dbg_kms(&dev_priv->drm,
>>> - "V Prime validation failed.(%d)\n", ret);
>>> - goto err;
>>> + if (!ret) {
>>> + drm_dbg_kms(&dev_priv->drm,
>>> + "HDCP is enabled (%d downstream devices)\n",
>>> + num_downstream);
>>> + goto out;
>>> + }
>>> }
>>>
>>> - drm_dbg_kms(&dev_priv->drm, "HDCP is enabled (%d downstream devices)\n",
>>> - num_downstream);
>>> - ret = 0;
>>> -err:
>>> + drm_dbg_kms(&dev_priv->drm, "V Prime validation failed.(%d)\n", ret);
>>> +out:
>>> kfree(ksv_fifo);
>>> return ret;
>>> }
>>
>
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: "Leizhen \(ThunderTown\)" <thunder.leizhen@huawei.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
intel-gfx <intel-gfx@lists.freedesktop.org>,
dri-devel <dri-devel@lists.freedesktop.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/1] drm/i915/hdcp: Simplify code in intel_hdcp_auth_downstream()
Date: Mon, 31 May 2021 13:36:08 +0300 [thread overview]
Message-ID: <87wnrfqjfr.fsf@intel.com> (raw)
In-Reply-To: <86f64463-87df-9e62-a5ea-f411fcb54c19@huawei.com>
On Fri, 28 May 2021, "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com> wrote:
> On 2021/5/27 18:04, Jani Nikula wrote:
>> On Thu, 27 May 2021, Zhen Lei <thunder.leizhen@huawei.com> wrote:
>>> If intel_hdcp_validate_v_prime() has been successful within the allowed
>>> number of tries, we can directly call drm_dbg_kms() and "goto out" without
>>> jumping out of the loop and repeatedly judging whether the operation is
>>> successful. This can help us reduce an unnecessary if judgment. And it's
>>> a little clearer to read.
>>
>> Generally I think the "happy day scenario" should be at the topmost
>> indentation level and not buried in the ifs with a goto exit.
>
> for (xxx) {
> if (a == b)
> return found;
> }
>
> At least this way of writing is common.
Yes, if the loop is abstracted to a separate function.
BR,
Jani.
>
>
>>
>> BR,
>> Jani.
>>
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
>>> ---
>>> drivers/gpu/drm/i915/display/intel_hdcp.c | 24 ++++++++++-------------
>>> 1 file changed, 10 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
>>> index d8570e14fe60..c32a854eda66 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
>>> @@ -663,13 +663,13 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
>>>
>>> ret = shim->read_ksv_fifo(dig_port, num_downstream, ksv_fifo);
>>> if (ret)
>>> - goto err;
>>> + goto out;
>>>
>>> if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, ksv_fifo,
>>> num_downstream) > 0) {
>>> drm_err(&dev_priv->drm, "Revoked Ksv(s) in ksv_fifo\n");
>>> ret = -EPERM;
>>> - goto err;
>>> + goto out;
>>> }
>>>
>>> /*
>>> @@ -680,20 +680,16 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
>>> ret = intel_hdcp_validate_v_prime(connector, shim,
>>> ksv_fifo, num_downstream,
>>> bstatus);
>>> - if (!ret)
>>> - break;
>>> - }
>>> -
>>> - if (i == tries) {
>>> - drm_dbg_kms(&dev_priv->drm,
>>> - "V Prime validation failed.(%d)\n", ret);
>>> - goto err;
>>> + if (!ret) {
>>> + drm_dbg_kms(&dev_priv->drm,
>>> + "HDCP is enabled (%d downstream devices)\n",
>>> + num_downstream);
>>> + goto out;
>>> + }
>>> }
>>>
>>> - drm_dbg_kms(&dev_priv->drm, "HDCP is enabled (%d downstream devices)\n",
>>> - num_downstream);
>>> - ret = 0;
>>> -err:
>>> + drm_dbg_kms(&dev_priv->drm, "V Prime validation failed.(%d)\n", ret);
>>> +out:
>>> kfree(ksv_fifo);
>>> return ret;
>>> }
>>
>
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2021-05-31 10:36 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-27 9:04 [Intel-gfx] [PATCH 1/1] drm/i915/hdcp: Simplify code in intel_hdcp_auth_downstream() Zhen Lei
2021-05-27 9:04 ` Zhen Lei
2021-05-27 10:04 ` [Intel-gfx] " Jani Nikula
2021-05-27 10:04 ` Jani Nikula
2021-05-28 9:36 ` [Intel-gfx] " Leizhen (ThunderTown)
2021-05-28 9:36 ` Leizhen (ThunderTown)
2021-05-31 10:36 ` Jani Nikula [this message]
2021-05-31 10:36 ` Jani Nikula
2021-06-01 20:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/1] " Patchwork
2021-06-02 6:38 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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=87wnrfqjfr.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=joonas.lahtinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=thunder.leizhen@huawei.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.