From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/4] drm: Fix primary plane size for stereo doubled modes for legacy setcrtc Date: Tue, 17 Nov 2015 16:26:05 +0200 Message-ID: <87io50em82.fsf@intel.com> References: <1447686157-29607-1-git-send-email-ville.syrjala@linux.intel.com> <20151117105404.GV16848@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20151117105404.GV16848@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , ville.syrjala@linux.intel.com Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, stable@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAxNyBOb3YgMjAxNSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBNb24sIE5vdiAxNiwgMjAxNSBhdCAwNTowMjozNFBNICswMjAwLCB2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4gCj4+IFByb3Blcmx5IGRvdWJsZSB0aGUgaGRp c3BsYXkvdmRpc3BsYXkgdGltaW5ncyB0aGF0IHdlIHVzZSBhcyB0aGUgcHJpbWFyeQo+PiBwbGFu ZSBzaXplIHdpdGggc3RlcmVvIGRvdWJsZWQgbW9kZXMuIE90aGVyd2lzZSB0aGUgbW9kZXNldCBn ZXRzCj4+IHJlamVjdGVkIG9uIG1hY2hpbmVzIHdoZXJlIHRoZSBwcmltYXJ5IHBsYW5lIG11c3Qg YmUgZnVsbHNjcmVlbiwgYW5kIG9uCj4+IHRoZSByZXN0IG9ubHkgdGhlIGZpcnN0IGV5ZSB3b3Vs ZCBnZXQgYSB2aXNpYmxlIHBsYW5lLgo+PiAKPj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+Cj4+IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCj4+IEZpeGVzOiAw NDI2NTJlZDk1OTkgKCJkcm0vYXRvbWljLWhlbHBlcjogaW1wbGVtZW50YXRhdGlvbnMgZm9yIGxl Z2FjeSBpbnRlcmZhY2VzIikKPj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPgo+IFRlc3RjYXNlOiBpZ3Qva21zXzNkCj4gUmV2 aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4KPiBUbyBh dm9pZCBjb25mbGljdHMgd2l0aCBwYXRjaGVzIDItNCBJIGFwcGxpZWQgYWxsIG9mIHRoZW0gdG8g ZHJtLW1pc2MsIGJ1dAo+IHdlIG5lZWQgdG8gY2hlcnJ5LXBpY2sgdGhpcyBvbmUgdG8gZHJtLWZp eGVzIHRvby4KClBpY2tlZCB1cCBpbiB0b3BpYy9kcm0tZml4ZXMuCgpCUiwKSmFuaS4KCgo+IC1E YW5pZWwKPgo+PiAtLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwg MTUgKysrKysrKysrLS0tLS0tCj4+ICAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA2 IGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPj4gaW5k ZXggOTg3MGM3MC4uNzg1NzE2MyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMKPj4gQEAgLTE3NDEsNiArMTc0MSw3IEBAIGludCBfX2RybV9hdG9taWNfaGVscGVyX3NldF9j b25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0LAo+PiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZTsKPj4gIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwcmltYXJ5X3N0YXRl Owo+PiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHNldC0+Y3J0YzsKPj4gKwlpbnQgaGRpc3Bs YXksIHZkaXNwbGF5Owo+PiAgCWludCByZXQ7Cj4+ICAKPj4gIAljcnRjX3N0YXRlID0gZHJtX2F0 b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Cj4+IEBAIC0xNzgzLDE5ICsxNzg0LDIx IEBAIGludCBfX2RybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3Nl dCAqc2V0LAo+PiAgCWlmIChyZXQgIT0gMCkKPj4gIAkJcmV0dXJuIHJldDsKPj4gIAo+PiArCWRy bV9jcnRjX2dldF9odl90aW1pbmcoc2V0LT5tb2RlLCAmaGRpc3BsYXksICZ2ZGlzcGxheSk7Cj4+ ICsKPj4gIAlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocHJpbWFyeV9zdGF0ZSwgc2V0LT5m Yik7Cj4+ICAJcHJpbWFyeV9zdGF0ZS0+Y3J0Y194ID0gMDsKPj4gIAlwcmltYXJ5X3N0YXRlLT5j cnRjX3kgPSAwOwo+PiAtCXByaW1hcnlfc3RhdGUtPmNydGNfaCA9IHNldC0+bW9kZS0+dmRpc3Bs YXk7Cj4+IC0JcHJpbWFyeV9zdGF0ZS0+Y3J0Y193ID0gc2V0LT5tb2RlLT5oZGlzcGxheTsKPj4g KwlwcmltYXJ5X3N0YXRlLT5jcnRjX2ggPSB2ZGlzcGxheTsKPj4gKwlwcmltYXJ5X3N0YXRlLT5j cnRjX3cgPSBoZGlzcGxheTsKPj4gIAlwcmltYXJ5X3N0YXRlLT5zcmNfeCA9IHNldC0+eCA8PCAx NjsKPj4gIAlwcmltYXJ5X3N0YXRlLT5zcmNfeSA9IHNldC0+eSA8PCAxNjsKPj4gIAlpZiAocHJp bWFyeV9zdGF0ZS0+cm90YXRpb24gJiAoQklUKERSTV9ST1RBVEVfOTApIHwgQklUKERSTV9ST1RB VEVfMjcwKSkpIHsKPj4gLQkJcHJpbWFyeV9zdGF0ZS0+c3JjX2ggPSBzZXQtPm1vZGUtPmhkaXNw bGF5IDw8IDE2Owo+PiAtCQlwcmltYXJ5X3N0YXRlLT5zcmNfdyA9IHNldC0+bW9kZS0+dmRpc3Bs YXkgPDwgMTY7Cj4+ICsJCXByaW1hcnlfc3RhdGUtPnNyY19oID0gaGRpc3BsYXkgPDwgMTY7Cj4+ ICsJCXByaW1hcnlfc3RhdGUtPnNyY193ID0gdmRpc3BsYXkgPDwgMTY7Cj4+ICAJfSBlbHNlIHsK Pj4gLQkJcHJpbWFyeV9zdGF0ZS0+c3JjX2ggPSBzZXQtPm1vZGUtPnZkaXNwbGF5IDw8IDE2Owo+ PiAtCQlwcmltYXJ5X3N0YXRlLT5zcmNfdyA9IHNldC0+bW9kZS0+aGRpc3BsYXkgPDwgMTY7Cj4+ ICsJCXByaW1hcnlfc3RhdGUtPnNyY19oID0gdmRpc3BsYXkgPDwgMTY7Cj4+ICsJCXByaW1hcnlf c3RhdGUtPnNyY193ID0gaGRpc3BsYXkgPDwgMTY7Cj4+ICAJfQo+PiAgCj4+ICBjb21taXQ6Cj4+ IC0tIAo+PiAyLjQuMTAKPj4gCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRl Y2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com ([134.134.136.20]:21485 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751966AbbKQOYF convert rfc822-to-8bit (ORCPT ); Tue, 17 Nov 2015 09:24:05 -0500 From: Jani Nikula To: Daniel Vetter , ville.syrjala@linux.intel.com Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, stable@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH 1/4] drm: Fix primary plane size for stereo doubled modes for legacy setcrtc In-Reply-To: <20151117105404.GV16848@phenom.ffwll.local> References: <1447686157-29607-1-git-send-email-ville.syrjala@linux.intel.com> <20151117105404.GV16848@phenom.ffwll.local> Date: Tue, 17 Nov 2015 16:26:05 +0200 Message-ID: <87io50em82.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: stable-owner@vger.kernel.org List-ID: On Tue, 17 Nov 2015, Daniel Vetter wrote: > On Mon, Nov 16, 2015 at 05:02:34PM +0200, ville.syrjala@linux.intel.com wrote: >> From: Ville Syrjälä >> >> Properly double the hdisplay/vdisplay timings that we use as the primary >> plane size with stereo doubled modes. Otherwise the modeset gets >> rejected on machines where the primary plane must be fullscreen, and on >> the rest only the first eye would get a visible plane. >> >> Cc: Daniel Vetter >> Cc: stable@vger.kernel.org >> Fixes: 042652ed9599 ("drm/atomic-helper: implementatations for legacy interfaces") >> Signed-off-by: Ville Syrjälä > > Testcase: igt/kms_3d > Reviewed-by: Daniel Vetter > > To avoid conflicts with patches 2-4 I applied all of them to drm-misc, but > we need to cherry-pick this one to drm-fixes too. Picked up in topic/drm-fixes. BR, Jani. > -Daniel > >> --- >> drivers/gpu/drm/drm_atomic_helper.c | 15 +++++++++------ >> 1 file changed, 9 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c >> index 9870c70..7857163 100644 >> --- a/drivers/gpu/drm/drm_atomic_helper.c >> +++ b/drivers/gpu/drm/drm_atomic_helper.c >> @@ -1741,6 +1741,7 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set, >> struct drm_crtc_state *crtc_state; >> struct drm_plane_state *primary_state; >> struct drm_crtc *crtc = set->crtc; >> + int hdisplay, vdisplay; >> int ret; >> >> crtc_state = drm_atomic_get_crtc_state(state, crtc); >> @@ -1783,19 +1784,21 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set, >> if (ret != 0) >> return ret; >> >> + drm_crtc_get_hv_timing(set->mode, &hdisplay, &vdisplay); >> + >> drm_atomic_set_fb_for_plane(primary_state, set->fb); >> primary_state->crtc_x = 0; >> primary_state->crtc_y = 0; >> - primary_state->crtc_h = set->mode->vdisplay; >> - primary_state->crtc_w = set->mode->hdisplay; >> + primary_state->crtc_h = vdisplay; >> + primary_state->crtc_w = hdisplay; >> primary_state->src_x = set->x << 16; >> primary_state->src_y = set->y << 16; >> if (primary_state->rotation & (BIT(DRM_ROTATE_90) | BIT(DRM_ROTATE_270))) { >> - primary_state->src_h = set->mode->hdisplay << 16; >> - primary_state->src_w = set->mode->vdisplay << 16; >> + primary_state->src_h = hdisplay << 16; >> + primary_state->src_w = vdisplay << 16; >> } else { >> - primary_state->src_h = set->mode->vdisplay << 16; >> - primary_state->src_w = set->mode->hdisplay << 16; >> + primary_state->src_h = vdisplay << 16; >> + primary_state->src_w = hdisplay << 16; >> } >> >> commit: >> -- >> 2.4.10 >> -- Jani Nikula, Intel Open Source Technology Center