diff mbox series

drm: panel-orientation-quirks: Add quirk for Acer One 10 (S1003)

Message ID 20181012101610.29100-1-hdegoede@redhat.com (mailing list archive)
State New, archived
Headers show
Series drm: panel-orientation-quirks: Add quirk for Acer One 10 (S1003) | expand

Commit Message

Hans de Goede Oct. 12, 2018, 10:16 a.m. UTC
The Acer One 10 uses a clamshell design with a detachable keyboard.
As such in normal operating mode, with the keyboard attach the device
is in landscape mode (and the Acer logo at boot also shows in landscape
mode).

But the device uses a portrait screen rotated 90 degrees (sigh). This
commit adds a quirk for this device so that we shown the fbcon the
right way up and that we hint userspace to also show e.g. plymouth and
gdm the right way up.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/gpu/drm/drm_panel_orientation_quirks.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Daniel Vetter Oct. 16, 2018, 12:22 p.m. UTC | #1
On Fri, Oct 12, 2018 at 12:16:10PM +0200, Hans de Goede wrote:
> The Acer One 10 uses a clamshell design with a detachable keyboard.
> As such in normal operating mode, with the keyboard attach the device
> is in landscape mode (and the Acer logo at boot also shows in landscape
> mode).
> 
> But the device uses a portrait screen rotated 90 degrees (sigh). This
> commit adds a quirk for this device so that we shown the fbcon the
> right way up and that we hint userspace to also show e.g. plymouth and
> gdm the right way up.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Bugzilla link or other report here would be good. If you have any.

Also cc: stable I'd say?

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_panel_orientation_quirks.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c
> index 280a41d33081..ab4e70e63f6e 100644
> --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
> +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
> @@ -30,6 +30,12 @@ struct drm_dmi_panel_orientation_data {
>  	int orientation;
>  };
>  
> +static const struct drm_dmi_panel_orientation_data acer_s1003 = {
> +	.width = 800,
> +	.height = 1280,
> +	.orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
> +};
> +
>  static const struct drm_dmi_panel_orientation_data asus_t100ha = {
>  	.width = 800,
>  	.height = 1280,
> @@ -75,7 +81,13 @@ static const struct drm_dmi_panel_orientation_data lcd800x1280_rightside_up = {
>  };
>  
>  static const struct dmi_system_id orientation_data[] = {
> -	{	/* Asus T100HA */
> +	{	/* Acer One 10 (S1003) */
> +		.matches = {
> +		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
> +		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"),
> +		},
> +		.driver_data = (void *)&acer_s1003,
> +	}, {	/* Asus T100HA */
>  		.matches = {
>  		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
>  		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100HAN"),
> -- 
> 2.19.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hans de Goede Oct. 17, 2018, 12:11 p.m. UTC | #2
Hi,

On 16-10-18 14:22, Daniel Vetter wrote:
> On Fri, Oct 12, 2018 at 12:16:10PM +0200, Hans de Goede wrote:
>> The Acer One 10 uses a clamshell design with a detachable keyboard.
>> As such in normal operating mode, with the keyboard attach the device
>> is in landscape mode (and the Acer logo at boot also shows in landscape
>> mode).
>>
>> But the device uses a portrait screen rotated 90 degrees (sigh). This
>> commit adds a quirk for this device so that we shown the fbcon the
>> right way up and that we hint userspace to also show e.g. plymouth and
>> gdm the right way up.
>>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> 
> Bugzilla link or other report here would be good. If you have any.

I wrote this patch while playing with an Acer One 10 myself, so
no bug report.

> Also cc: stable I'd say?

Ack I will add that before pushing.

> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Thanks.

Regards,

Hans



>> ---
>>   drivers/gpu/drm/drm_panel_orientation_quirks.c | 14 +++++++++++++-
>>   1 file changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c
>> index 280a41d33081..ab4e70e63f6e 100644
>> --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
>> +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
>> @@ -30,6 +30,12 @@ struct drm_dmi_panel_orientation_data {
>>   	int orientation;
>>   };
>>   
>> +static const struct drm_dmi_panel_orientation_data acer_s1003 = {
>> +	.width = 800,
>> +	.height = 1280,
>> +	.orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
>> +};
>> +
>>   static const struct drm_dmi_panel_orientation_data asus_t100ha = {
>>   	.width = 800,
>>   	.height = 1280,
>> @@ -75,7 +81,13 @@ static const struct drm_dmi_panel_orientation_data lcd800x1280_rightside_up = {
>>   };
>>   
>>   static const struct dmi_system_id orientation_data[] = {
>> -	{	/* Asus T100HA */
>> +	{	/* Acer One 10 (S1003) */
>> +		.matches = {
>> +		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
>> +		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"),
>> +		},
>> +		.driver_data = (void *)&acer_s1003,
>> +	}, {	/* Asus T100HA */
>>   		.matches = {
>>   		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
>>   		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100HAN"),
>> -- 
>> 2.19.0
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c
index 280a41d33081..ab4e70e63f6e 100644
--- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
+++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
@@ -30,6 +30,12 @@  struct drm_dmi_panel_orientation_data {
 	int orientation;
 };
 
+static const struct drm_dmi_panel_orientation_data acer_s1003 = {
+	.width = 800,
+	.height = 1280,
+	.orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
 static const struct drm_dmi_panel_orientation_data asus_t100ha = {
 	.width = 800,
 	.height = 1280,
@@ -75,7 +81,13 @@  static const struct drm_dmi_panel_orientation_data lcd800x1280_rightside_up = {
 };
 
 static const struct dmi_system_id orientation_data[] = {
-	{	/* Asus T100HA */
+	{	/* Acer One 10 (S1003) */
+		.matches = {
+		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
+		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"),
+		},
+		.driver_data = (void *)&acer_s1003,
+	}, {	/* Asus T100HA */
 		.matches = {
 		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
 		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100HAN"),