Rrefer to another patch [1] on mesa to extend width/height to 16384. For issue : - https://bugs.freedesktop.org/show_bug.cgi?id=102508 - LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
[1] https://patchwork.freedesktop.org/patch/124918/
Signed-off-by: Alex Tu alex.tu@canonical.com --- drivers/gpu/drm/i915/intel_display.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 47a2f6acee50..556fa57b18b8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13905,7 +13905,7 @@ u32 intel_fb_pitch_limit(struct drm_i915_private *dev_priv, /* "The stride in bytes must not exceed the of the size of 8K * pixels and 32K bytes." */ - return min(8192 * cpp, 32768); + return min(16384 * cpp, 65536); } else if (gen >= 5 && !HAS_GMCH_DISPLAY(dev_priv)) { return 32*1024; } else if (gen >= 4) { @@ -14604,8 +14604,8 @@ int intel_modeset_init(struct drm_device *dev) dev->mode_config.max_width = 4096; dev->mode_config.max_height = 4096; } else { - dev->mode_config.max_width = 8192; - dev->mode_config.max_height = 8192; + dev->mode_config.max_width = 16384; + dev->mode_config.max_height = 16384; }
if (IS_I845G(dev_priv) || IS_I865G(dev_priv)) {
Quoting Alex Tu (2017-12-07 09:26:00)
Rrefer to another patch [1] on mesa to extend width/height to 16384. For issue :
- https://bugs.freedesktop.org/show_bug.cgi?id=102508
- LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
[1] https://patchwork.freedesktop.org/patch/124918/
Signed-off-by: Alex Tu alex.tu@canonical.com
drivers/gpu/drm/i915/intel_display.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 47a2f6acee50..556fa57b18b8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13905,7 +13905,7 @@ u32 intel_fb_pitch_limit(struct drm_i915_private *dev_priv, /* "The stride in bytes must not exceed the of the size of 8K * pixels and 32K bytes." */
return min(8192 * cpp, 32768);
return min(16384 * cpp, 65536); } else if (gen >= 5 && !HAS_GMCH_DISPLAY(dev_priv)) { return 32*1024; } else if (gen >= 4) {
@@ -14604,8 +14604,8 @@ int intel_modeset_init(struct drm_device *dev) dev->mode_config.max_width = 4096; dev->mode_config.max_height = 4096; } else {
dev->mode_config.max_width = 8192;
dev->mode_config.max_height = 8192;
dev->mode_config.max_width = 16384;
dev->mode_config.max_height = 16384;
These are nothing to do with texture size, but single CRTC bounds. -Chris
Thanks for comment. I'm not familiar with that, so just followed the patch in mes https://patchwork.freedesktop.org/patch/124918/a.
How about change subtitle to "drm/i915: Increase max CRTC bounds to 16k for gen9+"?
On Thu, Dec 7, 2017 at 5:32 PM, Chris Wilson chris@chris-wilson.co.uk wrote:
Quoting Alex Tu (2017-12-07 09:26:00)
Rrefer to another patch [1] on mesa to extend width/height to 16384. For issue :
- https://bugs.freedesktop.org/show_bug.cgi?id=102508
- LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
[1] https://patchwork.freedesktop.org/patch/124918/
Signed-off-by: Alex Tu alex.tu@canonical.com
drivers/gpu/drm/i915/intel_display.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 47a2f6acee50..556fa57b18b8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13905,7 +13905,7 @@ u32 intel_fb_pitch_limit(struct drm_i915_private
*dev_priv,
/* "The stride in bytes must not exceed the of the size
of 8K
* pixels and 32K bytes." */
return min(8192 * cpp, 32768);
return min(16384 * cpp, 65536); } else if (gen >= 5 && !HAS_GMCH_DISPLAY(dev_priv)) { return 32*1024; } else if (gen >= 4) {
@@ -14604,8 +14604,8 @@ int intel_modeset_init(struct drm_device *dev) dev->mode_config.max_width = 4096; dev->mode_config.max_height = 4096; } else {
dev->mode_config.max_width = 8192;
dev->mode_config.max_height = 8192;
dev->mode_config.max_width = 16384;
dev->mode_config.max_height = 16384;
These are nothing to do with texture size, but single CRTC bounds. -Chris
On Thu, Dec 07, 2017 at 06:09:17PM +0800, Alex Tu wrote:
Thanks for comment. I'm not familiar with that, so just followed the patch in mes https://patchwork.freedesktop.org/patch/124918/a.
How about change subtitle to "drm/i915: Increase max CRTC bounds to 16k for gen9+"?
The render side of the gpu has nothing to do with the display side. Just because render has higher limits doesn't mean the same limits apply to the display side. We've had plenty of chips where they don't match.
So trying to justify a CRTC limit change with a mesa change is bogus. -Daniel
On Thu, Dec 7, 2017 at 5:32 PM, Chris Wilson chris@chris-wilson.co.uk wrote:
Quoting Alex Tu (2017-12-07 09:26:00)
Rrefer to another patch [1] on mesa to extend width/height to 16384. For issue :
- https://bugs.freedesktop.org/show_bug.cgi?id=102508
- LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
[1] https://patchwork.freedesktop.org/patch/124918/
Signed-off-by: Alex Tu alex.tu@canonical.com
drivers/gpu/drm/i915/intel_display.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 47a2f6acee50..556fa57b18b8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13905,7 +13905,7 @@ u32 intel_fb_pitch_limit(struct drm_i915_private
*dev_priv,
/* "The stride in bytes must not exceed the of the size
of 8K
* pixels and 32K bytes." */
return min(8192 * cpp, 32768);
return min(16384 * cpp, 65536); } else if (gen >= 5 && !HAS_GMCH_DISPLAY(dev_priv)) { return 32*1024; } else if (gen >= 4) {
@@ -14604,8 +14604,8 @@ int intel_modeset_init(struct drm_device *dev) dev->mode_config.max_width = 4096; dev->mode_config.max_height = 4096; } else {
dev->mode_config.max_width = 8192;
dev->mode_config.max_height = 8192;
dev->mode_config.max_width = 16384;
dev->mode_config.max_height = 16384;
These are nothing to do with texture size, but single CRTC bounds. -Chris
Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoting Alex Tu (2017-12-07 09:26:00)
Rrefer to another patch [1] on mesa to extend width/height to 16384. For issue :
- https://bugs.freedesktop.org/show_bug.cgi?id=102508
- LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
[1] https://patchwork.freedesktop.org/patch/124918/
Signed-off-by: Alex Tu alex.tu@canonical.com
For -intel, I just used RandR to split the fb into per-crtc-pixmaps. However, Kristian has suggested another approach where we carve per-crtc-pixmaps/-fb out of the global frontbuffer, which allows us to completely get around the stride limits of scanout and have no synchronisation penalty. We still have to create new per-crtc-fb for a flip, just like with RandR but we can avoid the extra blit.
How one feeds such details through gbm into -modesetting, I have no idea. -Chris
+ Ville as Jani is OoO
On Thu, 2017-12-07 at 17:26 +0800, Alex Tu wrote:
Rrefer to another patch [1] on mesa to extend width/height to 16384. For issue :
- https://bugs.freedesktop.org/show_bug.cgi?id=102508
- LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
[1] https://patchwork.freedesktop.org/patch/124918/
Signed-off-by: Alex Tu alex.tu@canonical.com
drivers/gpu/drm/i915/intel_display.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 47a2f6acee50..556fa57b18b8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13905,7 +13905,7 @@ u32 intel_fb_pitch_limit(struct drm_i915_private *dev_priv, /* "The stride in bytes must not exceed the of the size of 8K * pixels and 32K bytes." */
return min(8192 * cpp, 32768);
} else if (gen >= 5 && !HAS_GMCH_DISPLAY(dev_priv)) { return 32*1024; } else if (gen >= 4) {return min(16384 * cpp, 65536);
@@ -14604,8 +14604,8 @@ int intel_modeset_init(struct drm_device *dev) dev->mode_config.max_width = 4096; dev->mode_config.max_height = 4096; } else {
dev->mode_config.max_width = 8192;
dev->mode_config.max_height = 8192;
dev->mode_config.max_width = 16384;
dev->mode_config.max_height = 16384;
}
if (IS_I845G(dev_priv) || IS_I865G(dev_priv)) {
On Thu, Dec 07, 2017 at 05:26:00PM +0800, Alex Tu wrote:
Rrefer to another patch [1] on mesa to extend width/height to 16384. For issue :
- https://bugs.freedesktop.org/show_bug.cgi?id=102508
- LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
[1] https://patchwork.freedesktop.org/patch/124918/
Signed-off-by: Alex Tu alex.tu@canonical.com
drivers/gpu/drm/i915/intel_display.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 47a2f6acee50..556fa57b18b8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13905,7 +13905,7 @@ u32 intel_fb_pitch_limit(struct drm_i915_private *dev_priv, /* "The stride in bytes must not exceed the of the size of 8K * pixels and 32K bytes."
The spec queote clearly says the patch is wrong. Either that or the spec quote is outdated.
*/
return min(8192 * cpp, 32768);
} else if (gen >= 5 && !HAS_GMCH_DISPLAY(dev_priv)) { return 32*1024; } else if (gen >= 4) {return min(16384 * cpp, 65536);
@@ -14604,8 +14604,8 @@ int intel_modeset_init(struct drm_device *dev) dev->mode_config.max_width = 4096; dev->mode_config.max_height = 4096; } else {
dev->mode_config.max_width = 8192;
dev->mode_config.max_height = 8192;
dev->mode_config.max_width = 16384;
dev->mode_config.max_height = 16384;
Even if this would be correct (which it's not for most platforms at least, not quite sure about the very latest hardware), anyone doing this should at least do a cursory check of the relevant math in the driver to make seure we don't end up with integer overflows.
}
if (IS_I845G(dev_priv) || IS_I865G(dev_priv)) {
2.11.0
Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
looks it's not that easy as I thought. This change is for https://bugs.freedesktop.org/show_bug.cgi?id=102508 , and the hardware configuration is
* 00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:591d] (rev 04) * Dell Thunderbolt BME dock : http://www.dell.com/support/article/us/en/04/sln301105/dell-thunderbolt-dock... * internal native monitor is 4K, another 2 4K monitors are plugged behind BME dock
This patch could let this setting work, but looks it not the correct way. Not see the the relevant math in original code of commit b321803dfb and ac484963f9 . Does someone know how the original value 8192 be calculated out? So that the way might could be followed for this new change.
Thanks.
On Thu, Dec 7, 2017 at 11:32 PM, Ville Syrjälä < ville.syrjala@linux.intel.com> wrote:
On Thu, Dec 07, 2017 at 05:26:00PM +0800, Alex Tu wrote:
Rrefer to another patch [1] on mesa to extend width/height to 16384. For issue :
- https://bugs.freedesktop.org/show_bug.cgi?id=102508
- LP: #1714178 Triple monitor display failed with Dell Dock (HiDPI)
[1] https://patchwork.freedesktop.org/patch/124918/
Signed-off-by: Alex Tu alex.tu@canonical.com
drivers/gpu/drm/i915/intel_display.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 47a2f6acee50..556fa57b18b8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13905,7 +13905,7 @@ u32 intel_fb_pitch_limit(struct drm_i915_private
*dev_priv,
/* "The stride in bytes must not exceed the of the size of
8K
* pixels and 32K bytes."
The spec queote clearly says the patch is wrong. Either that or the spec quote is outdated.
*/
return min(8192 * cpp, 32768);
return min(16384 * cpp, 65536); } else if (gen >= 5 && !HAS_GMCH_DISPLAY(dev_priv)) { return 32*1024; } else if (gen >= 4) {
@@ -14604,8 +14604,8 @@ int intel_modeset_init(struct drm_device *dev) dev->mode_config.max_width = 4096; dev->mode_config.max_height = 4096; } else {
dev->mode_config.max_width = 8192;
dev->mode_config.max_height = 8192;
dev->mode_config.max_width = 16384;
dev->mode_config.max_height = 16384;
Even if this would be correct (which it's not for most platforms at least, not quite sure about the very latest hardware), anyone doing this should at least do a cursory check of the relevant math in the driver to make seure we don't end up with integer overflows.
} if (IS_I845G(dev_priv) || IS_I865G(dev_priv)) {
-- 2.11.0
Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
-- Ville Syrjälä Intel OTC
dri-devel@lists.freedesktop.org