diff mbox series

[1/2] drm: Handle connector tile support only for modes that match tile size

Message ID 20191211212433.18185-1-manasi.d.navare@intel.com (mailing list archive)
State New, archived
Headers show
Series [1/2] drm: Handle connector tile support only for modes that match tile size | expand

Commit Message

Navare, Manasi Dec. 11, 2019, 9:24 p.m. UTC
DRM Fb driver expects multiple CRTCs if it sees connector->has_tile
is set, but we need to handle tile support and look for multiple CRTCs
only for the modes that match the tile size. The other modes should
be able to be displayed without tile support or uisng single CRTC.

This patch adds the check to match the tile size with requested mode
to handle the tile support.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
---
 drivers/gpu/drm/drm_fb_helper.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Navare, Manasi Dec. 12, 2019, 9:28 p.m. UTC | #1
The KBL failure does not look related to the changes in this patch series.
Tomi, could you confirm if this is a false negative?

Manasi

On Thu, Dec 12, 2019 at 02:46:49AM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [1/2] drm: Handle connector tile support only for modes that match tile size
> URL   : https://patchwork.freedesktop.org/series/70790/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_7545 -> Patchwork_15701
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with Patchwork_15701 absolutely need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in Patchwork_15701, please notify your bug team to allow them
>   to document this new failure mode, which will reduce false positives in CI.
> 
>   External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
> 
> Possible new issues
> -------------------
> 
>   Here are the unknown changes that may have been introduced in Patchwork_15701:
> 
> ### IGT changes ###
> 
> #### Possible regressions ####
> 
>   * igt@i915_selftest@live_gt_pm:
>     - fi-kbl-x1275:       NOTRUN -> [DMESG-FAIL][1]
>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-kbl-x1275/igt@i915_selftest@live_gt_pm.html
> 
>   
> Known issues
> ------------
> 
>   Here are the changes found in Patchwork_15701 that come from known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@i915_pm_rpm@module-reload:
>     - fi-skl-6770hq:      [PASS][2] -> [FAIL][3] ([i915#178])
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
>    [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
> 
>   * igt@i915_selftest@live_gem_contexts:
>     - fi-hsw-4770:        [PASS][4] -> [DMESG-FAIL][5] ([i915#722])
>    [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-hsw-4770/igt@i915_selftest@live_gem_contexts.html
>    [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-hsw-4770/igt@i915_selftest@live_gem_contexts.html
>     - fi-hsw-peppy:       [PASS][6] -> [INCOMPLETE][7] ([i915#694])
>    [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html
>    [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html
> 
>   * igt@i915_selftest@live_gt_heartbeat:
>     - fi-bsw-nick:        [PASS][8] -> [DMESG-FAIL][9] ([i915#541])
>    [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-bsw-nick/igt@i915_selftest@live_gt_heartbeat.html
>    [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-bsw-nick/igt@i915_selftest@live_gt_heartbeat.html
> 
>   
> #### Possible fixes ####
> 
>   * igt@i915_selftest@live_blt:
>     - fi-hsw-4770r:       [DMESG-FAIL][10] ([i915#553] / [i915#725]) -> [PASS][11]
>    [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-hsw-4770r/igt@i915_selftest@live_blt.html
>    [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-hsw-4770r/igt@i915_selftest@live_blt.html
> 
>   * igt@kms_chamelium@hdmi-hpd-fast:
>     - fi-kbl-7500u:       [FAIL][12] ([fdo#111096] / [i915#323]) -> [PASS][13]
>    [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
>    [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
> 
>   
> #### Warnings ####
> 
>   * igt@i915_module_load@reload:
>     - fi-icl-u2:          [DMESG-WARN][14] ([i915#109] / [i915#289]) -> [DMESG-WARN][15] ([i915#289])
>    [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-icl-u2/igt@i915_module_load@reload.html
>    [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-icl-u2/igt@i915_module_load@reload.html
> 
>   * igt@i915_selftest@live_blt:
>     - fi-hsw-4770:        [DMESG-FAIL][16] ([i915#725]) -> [DMESG-FAIL][17] ([i915#770])
>    [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-hsw-4770/igt@i915_selftest@live_blt.html
>    [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-hsw-4770/igt@i915_selftest@live_blt.html
> 
>   * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
>     - fi-kbl-x1275:       [DMESG-WARN][18] ([i915#62] / [i915#92]) -> [DMESG-WARN][19] ([i915#62] / [i915#92] / [i915#95]) +5 similar issues
>    [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
>    [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
> 
>   * igt@kms_flip@basic-flip-vs-modeset:
>     - fi-kbl-x1275:       [DMESG-WARN][20] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][21] ([i915#62] / [i915#92]) +6 similar issues
>    [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7545/fi-kbl-x1275/igt@kms_flip@basic-flip-vs-modeset.html
>    [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-kbl-x1275/igt@kms_flip@basic-flip-vs-modeset.html
> 
>   
>   {name}: This element is suppressed. This means it is ignored when computing
>           the status of the difference (SUCCESS, WARNING, or FAILURE).
> 
>   [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
>   [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593
>   [i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109
>   [i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178
>   [i915#289]: https://gitlab.freedesktop.org/drm/intel/issues/289
>   [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
>   [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472
>   [i915#541]: https://gitlab.freedesktop.org/drm/intel/issues/541
>   [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
>   [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
>   [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
>   [i915#707]: https://gitlab.freedesktop.org/drm/intel/issues/707
>   [i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722
>   [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
>   [i915#770]: https://gitlab.freedesktop.org/drm/intel/issues/770
>   [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
>   [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
> 
> 
> Participating hosts (52 -> 46)
> ------------------------------
> 
>   Missing    (6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 
> 
> 
> Build changes
> -------------
> 
>   * CI: CI-20190529 -> None
>   * Linux: CI_DRM_7545 -> Patchwork_15701
> 
>   CI-20190529: 20190529
>   CI_DRM_7545: b1b808dff985c3c2050b20771050453589a60ca3 @ git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_5346: 466b0e6cbcbaccff012b484d1fd7676364b37b93 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>   Patchwork_15701: 2b0a7be8f2636c049b492fce127416b1fa5212b4 @ git://anongit.freedesktop.org/gfx-ci/linux
> 
> 
> == Linux commits ==
> 
> 2b0a7be8f263 drm/fbdev: Fallback to non tiled mode if all tiles not present
> 88188322c650 drm: Handle connector tile support only for modes that match tile size
> 
> == Logs ==
> 
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
Sarvela, Tomi P Dec. 13, 2019, 8:54 a.m. UTC | #2
On 12/12/19 11:28 PM, Manasi Navare wrote:
> The KBL failure does not look related to the changes in this patch series.
> Tomi, could you confirm if this is a false negative?
> 
> Manasi

The failures with the patchset seem same as all the other results from 
live_gt_pm: just that kbl-x1275 hasn't been ticked to the bugfilter, 
probably because it hasn't survived the test before (module_reload).

I've triggered shard-run for this series.

Tomi

> On Thu, Dec 12, 2019 at 02:46:49AM +0000, Patchwork wrote:
>> == Series Details ==
>>
>> Series: series starting with [1/2] drm: Handle connector tile support only for modes that match tile size
>> URL   : https://patchwork.freedesktop.org/series/70790/
>> State : failure
>>
>> == Summary ==
>>
>> CI Bug Log - changes from CI_DRM_7545 -> Patchwork_15701
>> ====================================================
>>
>> Summary
>> -------
>>
>>    **FAILURE**

>>    External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
>>
>> Possible new issues
>> -------------------
>>
>>    Here are the unknown changes that may have been introduced in Patchwork_15701:
>>
>> ### IGT changes ###
>>
>> #### Possible regressions ####
>>
>>    * igt@i915_selftest@live_gt_pm:
>>      - fi-kbl-x1275:       NOTRUN -> [DMESG-FAIL][1]
>>     [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-kbl-x1275/igt@i915_selftest@live_gt_pm.html

>>
>> == Logs ==
>>
>> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
Navare, Manasi Dec. 16, 2019, 11:59 p.m. UTC | #3
On Fri, Dec 13, 2019 at 10:54:55AM +0200, Tomi Sarvela wrote:
> On 12/12/19 11:28 PM, Manasi Navare wrote:
> >The KBL failure does not look related to the changes in this patch series.
> >Tomi, could you confirm if this is a false negative?
> >
> >Manasi
> 
> The failures with the patchset seem same as all the other results from
> live_gt_pm: just that kbl-x1275 hasn't been ticked to the bugfilter,
> probably because it hasn't survived the test before (module_reload).
> 
> I've triggered shard-run for this series.

Any updates on the shard-run results?

Manasi

> 
> Tomi
> 
> >On Thu, Dec 12, 2019 at 02:46:49AM +0000, Patchwork wrote:
> >>== Series Details ==
> >>
> >>Series: series starting with [1/2] drm: Handle connector tile support only for modes that match tile size
> >>URL   : https://patchwork.freedesktop.org/series/70790/
> >>State : failure
> >>
> >>== Summary ==
> >>
> >>CI Bug Log - changes from CI_DRM_7545 -> Patchwork_15701
> >>====================================================
> >>
> >>Summary
> >>-------
> >>
> >>   **FAILURE**
> 
> >>   External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
> >>
> >>Possible new issues
> >>-------------------
> >>
> >>   Here are the unknown changes that may have been introduced in Patchwork_15701:
> >>
> >>### IGT changes ###
> >>
> >>#### Possible regressions ####
> >>
> >>   * igt@i915_selftest@live_gt_pm:
> >>     - fi-kbl-x1275:       NOTRUN -> [DMESG-FAIL][1]
> >>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-kbl-x1275/igt@i915_selftest@live_gt_pm.html
> 
> >>
> >>== Logs ==
> >>
> >>For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
> 
> 
> -- 
> Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
Sarvela, Tomi P Dec. 17, 2019, 7:56 a.m. UTC | #4
On 12/17/19 1:59 AM, Manasi Navare wrote:
> On Fri, Dec 13, 2019 at 10:54:55AM +0200, Tomi Sarvela wrote:
>> On 12/12/19 11:28 PM, Manasi Navare wrote:
>>> The KBL failure does not look related to the changes in this patch series.
>>> Tomi, could you confirm if this is a false negative?
>>>
>>> Manasi
>>
>> The failures with the patchset seem same as all the other results from
>> live_gt_pm: just that kbl-x1275 hasn't been ticked to the bugfilter,
>> probably because it hasn't survived the test before (module_reload).
>>
>> I've triggered shard-run for this series.
> 
> Any updates on the shard-run results?

Results are available at normal place:
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html

Tomi

>>> On Thu, Dec 12, 2019 at 02:46:49AM +0000, Patchwork wrote:
>>>> == Series Details ==
>>>>
>>>> Series: series starting with [1/2] drm: Handle connector tile support only for modes that match tile size
>>>> URL   : https://patchwork.freedesktop.org/series/70790/
>>>> State : failure
>>>>
>>>> == Summary ==
>>>>
>>>> CI Bug Log - changes from CI_DRM_7545 -> Patchwork_15701
>>>> ====================================================
>>>>
>>>> Summary
>>>> -------
>>>>
>>>>    **FAILURE**

>>>>    External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
>>>>
>>>> Possible new issues
>>>> -------------------
>>>>
>>>>    Here are the unknown changes that may have been introduced in Patchwork_15701:
>>>>
>>>> ### IGT changes ###
>>>>
>>>> #### Possible regressions ####
>>>>
>>>>    * igt@i915_selftest@live_gt_pm:
>>>>      - fi-kbl-x1275:       NOTRUN -> [DMESG-FAIL][1]
>>>>     [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-kbl-x1275/igt@i915_selftest@live_gt_pm.html

>>>>
>>>> == Logs ==
>>>>
>>>> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
Navare, Manasi Dec. 17, 2019, 8:57 p.m. UTC | #5
On Tue, Dec 17, 2019 at 09:56:54AM +0200, Tomi Sarvela wrote:
> On 12/17/19 1:59 AM, Manasi Navare wrote:
> >On Fri, Dec 13, 2019 at 10:54:55AM +0200, Tomi Sarvela wrote:
> >>On 12/12/19 11:28 PM, Manasi Navare wrote:
> >>>The KBL failure does not look related to the changes in this patch series.
> >>>Tomi, could you confirm if this is a false negative?
> >>>
> >>>Manasi
> >>
> >>The failures with the patchset seem same as all the other results from
> >>live_gt_pm: just that kbl-x1275 hasn't been ticked to the bugfilter,
> >>probably because it hasn't survived the test before (module_reload).
> >>
> >>I've triggered shard-run for this series.
> >
> >Any updates on the shard-run results?
> 
> Results are available at normal place:
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
>

Cool so the failures on kbl are unrealted and false positives and Full IGT tests pass
so I am merging these patches.

Manasi
 
> Tomi
> 
> >>>On Thu, Dec 12, 2019 at 02:46:49AM +0000, Patchwork wrote:
> >>>>== Series Details ==
> >>>>
> >>>>Series: series starting with [1/2] drm: Handle connector tile support only for modes that match tile size
> >>>>URL   : https://patchwork.freedesktop.org/series/70790/
> >>>>State : failure
> >>>>
> >>>>== Summary ==
> >>>>
> >>>>CI Bug Log - changes from CI_DRM_7545 -> Patchwork_15701
> >>>>====================================================
> >>>>
> >>>>Summary
> >>>>-------
> >>>>
> >>>>   **FAILURE**
> 
> >>>>   External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
> >>>>
> >>>>Possible new issues
> >>>>-------------------
> >>>>
> >>>>   Here are the unknown changes that may have been introduced in Patchwork_15701:
> >>>>
> >>>>### IGT changes ###
> >>>>
> >>>>#### Possible regressions ####
> >>>>
> >>>>   * igt@i915_selftest@live_gt_pm:
> >>>>     - fi-kbl-x1275:       NOTRUN -> [DMESG-FAIL][1]
> >>>>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/fi-kbl-x1275/igt@i915_selftest@live_gt_pm.html
> 
> >>>>
> >>>>== Logs ==
> >>>>
> >>>>For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15701/index.html
> 
> 
> 
> -- 
> Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
Navare, Manasi Dec. 17, 2019, 8:58 p.m. UTC | #6
On Wed, Dec 11, 2019 at 01:24:32PM -0800, Manasi Navare wrote:
> DRM Fb driver expects multiple CRTCs if it sees connector->has_tile
> is set, but we need to handle tile support and look for multiple CRTCs
> only for the modes that match the tile size. The other modes should
> be able to be displayed without tile support or uisng single CRTC.
> 
> This patch adds the check to match the tile size with requested mode
> to handle the tile support.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Dave Airlie <airlied@redhat.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>

Capturing Dave Airlie's r-b from IRC:

Reviewed-by: Dave Airlie <airlied@redhat.com>

Manasi

> ---
>  drivers/gpu/drm/drm_fb_helper.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index fb9bff0f4581..4978363714a9 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -1558,7 +1558,9 @@ static int drm_fb_helper_single_fb_probe(struct drm_fb_helper *fb_helper,
>  		for (j = 0; j < mode_set->num_connectors; j++) {
>  			struct drm_connector *connector = mode_set->connectors[j];
>  
> -			if (connector->has_tile) {
> +			if (connector->has_tile &&
> +			    desired_mode->hdisplay == connector->tile_h_size &&
> +			    desired_mode->vdisplay == connector->tile_v_size) {
>  				lasth = (connector->tile_h_loc == (connector->num_h_tile - 1));
>  				lastv = (connector->tile_v_loc == (connector->num_v_tile - 1));
>  				/* cloning to multiple tiles is just crazy-talk, so: */
> -- 
> 2.19.1
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index fb9bff0f4581..4978363714a9 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -1558,7 +1558,9 @@  static int drm_fb_helper_single_fb_probe(struct drm_fb_helper *fb_helper,
 		for (j = 0; j < mode_set->num_connectors; j++) {
 			struct drm_connector *connector = mode_set->connectors[j];
 
-			if (connector->has_tile) {
+			if (connector->has_tile &&
+			    desired_mode->hdisplay == connector->tile_h_size &&
+			    desired_mode->vdisplay == connector->tile_v_size) {
 				lasth = (connector->tile_h_loc == (connector->num_h_tile - 1));
 				lastv = (connector->tile_v_loc == (connector->num_v_tile - 1));
 				/* cloning to multiple tiles is just crazy-talk, so: */