From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: Re: [PATCH hwc] drm_hwcomposer: Add HDMI connector as a valid type Date: Wed, 01 Nov 2017 19:06:37 +0100 Message-ID: <1509559597.2253.1.camel@collabora.com> References: <20171101175004.21282-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0210312996==" Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id B58406E7EF for ; Wed, 1 Nov 2017 18:06:41 +0000 (UTC) In-Reply-To: <20171101175004.21282-1-robh@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Herring , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0210312996== Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-7O1H9bWZCoOu+tqxE1eL" --=-7O1H9bWZCoOu+tqxE1eL Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Rob, Pushed to master. Rob. On Wed, 2017-11-01 at 12:50 -0500, Rob Herring wrote: > From: Robert Foss >=20 > Accept DRM_MODE_CONNECTOR_HDMIA connector type. >=20 > Look for primary DrmConnector amongst external connectors > after looking for primary amongst internal ones first. >=20 > Signed-off-by: Robert Foss > Signed-off-by: Rob Herring > --- > This is needed to get dev boards like DB410c to work. >=20 > drmconnector.cpp | 10 +++++++++- > drmconnector.h | 4 +++- > drmresources.cpp | 16 ++++++++++++++-- > 3 files changed, 26 insertions(+), 4 deletions(-) >=20 > diff --git a/drmconnector.cpp b/drmconnector.cpp > index ccb38e2f00dc..247f56bde748 100644 > --- a/drmconnector.cpp > +++ b/drmconnector.cpp > @@ -67,11 +67,19 @@ void DrmConnector::set_display(int display) { > display_ =3D display; > } > =20 > -bool DrmConnector::built_in() const { > +bool DrmConnector::internal() const { > return type_ =3D=3D DRM_MODE_CONNECTOR_LVDS || type_ =3D=3D > DRM_MODE_CONNECTOR_eDP || > type_ =3D=3D DRM_MODE_CONNECTOR_DSI || type_ =3D=3D > DRM_MODE_CONNECTOR_VIRTUAL; > } > =20 > +bool DrmConnector::external() const { > + return type_ =3D=3D DRM_MODE_CONNECTOR_HDMIA; > +} > + > +bool DrmConnector::valid_type() const { > + return internal() || external(); > +} > + > int DrmConnector::UpdateModes() { > int fd =3D drm_->fd(); > =20 > diff --git a/drmconnector.h b/drmconnector.h > index e1488bb42a9a..5601e069f003 100644 > --- a/drmconnector.h > +++ b/drmconnector.h > @@ -44,7 +44,9 @@ class DrmConnector { > int display() const; > void set_display(int display); > =20 > - bool built_in() const; > + bool internal() const; > + bool external() const; > + bool valid_type() const; > =20 > int UpdateModes(); > =20 > diff --git a/drmresources.cpp b/drmresources.cpp > index 67a853c587b3..32dd37636e73 100644 > --- a/drmresources.cpp > +++ b/drmresources.cpp > @@ -154,16 +154,28 @@ int DrmResources::Init() { > break; > } > =20 > - if (conn->built_in() && !found_primary) { > + connectors_.emplace_back(std::move(conn)); > + } > + > + // First look for primary amongst internal connectors > + for (auto &conn : connectors_) { > + if (conn->internal() && !found_primary) { > conn->set_display(0); > found_primary =3D true; > } else { > conn->set_display(display_num); > ++display_num; > } > + } > =20 > - connectors_.emplace_back(std::move(conn)); > + // Then look for primary amongst external connectors > + for (auto &conn : connectors_) { > + if (conn->external() && !found_primary) { > + conn->set_display(0); > + found_primary =3D true; > + } > } > + > if (res) > drmModeFreeResources(res); > =20 --=-7O1H9bWZCoOu+tqxE1eL Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQIcBAABCAAGBQJZ+g0tAAoJELeaC2oR7vcnD3cP/0GaqFAv/wAfpiL1eNaXNuyt VE6NF6FCLRrSUkFDQZoCycUpGVPuRCJ+QdEziqWyg63upPtOhRp2U0h6eanalWP6 rJAsyKsjQAyxgv16HTdzJSWvKHhzx8ucX1P7nxn98RlmI439NQ0GOynJxbYXTyNu L2gFm8Bl1ZtzFmcxKBJGZXgIFRGMeX32CCSO8YXoCe13qOb4ALBk1WruhNKwPsIy 5sBHZ6xn5VR2vryGB12rwSgM0atKapiVeTV1d9C1c2Pri+SmCZFZo2rnGgEKmId4 bV4MULUSULNN+ILpytaD/T+vMcwvGdAu7Ey0S2JCa12ZxUYWWgsaTgFhf6FPvbkA keA7BnfxPXojgOPF0qVzTSadUTx9/mnNYNfU1WAfvFdDDA/lVDdW4sSXGa7DwCGj QyWFdbqYel+S4BzpKG6ry3iFGmQlUKuDB8vmDR9v17x0f60c39tbE8oGJbEA4rMj n7a4N9/Np7YxpElRrTdbOJkEKD8AlHM40vHzjsD2TpnwFZ3vvRg3uN65ub7Hcaxt M74trl6EFgCOcKj9qq3vXTgx/1dhfEUP+G+lrUPB0njx5LDKAGZaH5oiPQi981Bh j1s6DyjRlniraTTHm3lAnzc7lHBnZ45KFboKxlDlVb6EXKQRy1p6L5f2NyBzXNLX VEXwdmrsRZ9f95H1DD8q =9O4O -----END PGP SIGNATURE----- --=-7O1H9bWZCoOu+tqxE1eL-- --===============0210312996== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============0210312996==--