Re: [Intel-gfx] [PATCH 1/3] New function to avoid duplicate code in upcomming commits

From: Jani Nikula
Date: Thu May 06 2021 - 13:34:10 EST


On Thu, 06 May 2021, Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> wrote:
> Am 06.05.21 um 12:19 schrieb Jani Nikula:
>> On Wed, 05 May 2021, Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> wrote:
>>> Moves some checks that later will be performed 2 times to an own fuction. This
>>> avoids duplicate code later on.
>>>
>>> Signed-off-by: Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx>
>>> ---
>>>
>>> From 42a4a3a7d9ea9948b4071f406e7fcae23bfa0bdf Mon Sep 17 00:00:00 2001
>>> From: Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx>
>>> Date: Mon, 3 May 2021 14:35:39 +0200
>>> Subject: [PATCH 1/3] New function to avoid duplicate code in upcomming commits
>> What are you using to generate and send the patches? This looks like
>> unnecessary cruft, and our CI fails to apply and test the changes.
>>
>> BR,
>> Jani.
> I'm using git send-email with --compose and --annotate. The From, Date, and Subject lines are automatically generated by it and I then add the commit message above.

I'm not sure I understand correctly. You should write the commit
messages in your git commits when you commit them. When you do 'git
commit'. You shouldn't have to annotate any of the patches while
sending, except to perhaps add a cover letter with --compose.

BR,
Jani.

>
> After reading https://www.kernel.org/doc/html/v5.12/process/submitting-patches.html#the-canonical-patch-format I thought the format was:
>
> <commit message for upstream and signed of lines>
> ---
> <additional comments only for mailing list/stuff that gets ignored by the tools>
> ---
> <the patch>
>
> With the middle part being optional. (I only tested with "git apply" which worked fine with the format)
>
> I will resend the patches without the middle part, and the drm/i915/display in all subject lines.
>
>>
>>> ---
>>> drivers/gpu/drm/i915/display/intel_hdmi.c | 41 ++++++++++++++---------
>>> 1 file changed, 26 insertions(+), 15 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
>>> index 46de56af33db..576d3d910d06 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
>>> @@ -1861,6 +1861,31 @@ static int intel_hdmi_port_clock(int clock, int bpc)
>>> return clock * bpc / 8;
>>> }
>>>
>>> +static enum drm_mode_status
>>> +intel_hdmi_mode_clock_valid(struct intel_hdmi *hdmi, int clock, bool has_hdmi_sink)
>>> +{
>>> + struct drm_device *dev = intel_hdmi_to_dev(hdmi);
>>> + struct drm_i915_private *dev_priv = to_i915(dev);
>>> + enum drm_mode_status status;
>>> +
>>> + /* check if we can do 8bpc */
>>> + status = hdmi_port_clock_valid(hdmi, clock, true, has_hdmi_sink);
>>> +
>>> + if (has_hdmi_sink) {
>>> + /* if we can't do 8bpc we may still be able to do 12bpc */
>>> + if (status != MODE_OK && !HAS_GMCH(dev_priv))
>>> + status = hdmi_port_clock_valid(hdmi, clock * 3 / 2,
>>> + true, has_hdmi_sink);
>>> +
>>> + /* if we can't do 8,12bpc we may still be able to do 10bpc */
>>> + if (status != MODE_OK && INTEL_GEN(dev_priv) >= 11)
>>> + status = hdmi_port_clock_valid(hdmi, clock * 5 / 4,
>>> + true, has_hdmi_sink);
>>> + }
>>> +
>>> + return status;
>>> +}
>>> +
>>> static enum drm_mode_status
>>> intel_hdmi_mode_valid(struct drm_connector *connector,
>>> struct drm_display_mode *mode)
>>> @@ -1891,21 +1916,7 @@ intel_hdmi_mode_valid(struct drm_connector *connector,
>>> if (drm_mode_is_420_only(&connector->display_info, mode))
>>> clock /= 2;
>>>
>>> - /* check if we can do 8bpc */
>>> - status = hdmi_port_clock_valid(hdmi, intel_hdmi_port_clock(clock, 8),
>>> - true, has_hdmi_sink);
>>> -
>>> - if (has_hdmi_sink) {
>>> - /* if we can't do 8bpc we may still be able to do 12bpc */
>>> - if (status != MODE_OK && !HAS_GMCH(dev_priv))
>>> - status = hdmi_port_clock_valid(hdmi, intel_hdmi_port_clock(clock, 12),
>>> - true, has_hdmi_sink);
>>> -
>>> - /* if we can't do 8,12bpc we may still be able to do 10bpc */
>>> - if (status != MODE_OK && DISPLAY_VER(dev_priv) >= 11)
>>> - status = hdmi_port_clock_valid(hdmi, intel_hdmi_port_clock(clock, 10),
>>> - true, has_hdmi_sink);
>>> - }
>>> + status = intel_hdmi_mode_clock_valid(hdmi, clock, has_hdmi_sink);
>>> if (status != MODE_OK)
>>> return status;

--
Jani Nikula, Intel Open Source Graphics Center