diff mbox series

[1/3] New function to avoid duplicate code in upcomming commits

Message ID 20210505172401.1453178-2-wse@tuxedocomputers.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/display Try YCbCr420 color when RGB fails | expand

Commit Message

Werner Sembach May 5, 2021, 5:23 p.m. UTC
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@tuxedocomputers.com>
---

From 42a4a3a7d9ea9948b4071f406e7fcae23bfa0bdf Mon Sep 17 00:00:00 2001
From: Werner Sembach <wse@tuxedocomputers.com>
Date: Mon, 3 May 2021 14:35:39 +0200
Subject: [PATCH 1/3] New function to avoid duplicate code in upcomming commits

---
 drivers/gpu/drm/i915/display/intel_hdmi.c | 41 ++++++++++++++---------
 1 file changed, 26 insertions(+), 15 deletions(-)

Comments

Jani Nikula May 6, 2021, 10:19 a.m. UTC | #1
On Wed, 05 May 2021, Werner Sembach <wse@tuxedocomputers.com> 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@tuxedocomputers.com>
> ---
>
> From 42a4a3a7d9ea9948b4071f406e7fcae23bfa0bdf Mon Sep 17 00:00:00 2001
> From: Werner Sembach <wse@tuxedocomputers.com>
> 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.

>
> ---
>  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 May 6, 2021, 10:21 a.m. UTC | #2
On Wed, 05 May 2021, Werner Sembach <wse@tuxedocomputers.com> wrote:
> Subject: [PATCH 1/3] New function to avoid duplicate code in upcomming commits

Also, the subject should have a prefix, such as "drm/i915/hdmi: "
etc. depending on what you're changing. See git log on the files for
examples.

BR,
Jani.
Werner Sembach May 6, 2021, 4:41 p.m. UTC | #3
Am 06.05.21 um 12:19 schrieb Jani Nikula:
> On Wed, 05 May 2021, Werner Sembach <wse@tuxedocomputers.com> 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@tuxedocomputers.com>
>> ---
>>
>> From 42a4a3a7d9ea9948b4071f406e7fcae23bfa0bdf Mon Sep 17 00:00:00 2001
>> From: Werner Sembach <wse@tuxedocomputers.com>
>> 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.

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 May 6, 2021, 5:33 p.m. UTC | #4
On Thu, 06 May 2021, Werner Sembach <wse@tuxedocomputers.com> wrote:
> Am 06.05.21 um 12:19 schrieb Jani Nikula:
>> On Wed, 05 May 2021, Werner Sembach <wse@tuxedocomputers.com> 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@tuxedocomputers.com>
>>> ---
>>>
>>> From 42a4a3a7d9ea9948b4071f406e7fcae23bfa0bdf Mon Sep 17 00:00:00 2001
>>> From: Werner Sembach <wse@tuxedocomputers.com>
>>> 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;
diff mbox series

Patch

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;