Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

arm64: dts: qcom: msm8916-samsung-e5: Add display panel #319

Draft
wants to merge 10,000 commits into
base: msm8916/6.5-rc7
Choose a base branch
from

Conversation

wonderfulShrineMaidenOfParadise

No description provided.

@stephan-gh
Copy link
Member

@wonderfulShrineMaidenOfParadise Can you send arm64: dts: qcom: msm8916-samsung-e5: Add touchscreen upstream if it was tested by someone successfully?

@wonderfulShrineMaidenOfParadise
Copy link
Author

@stephan-gh
Copy link
Member

I added the touchscreen patch to wip/msm8916/6.5-rc4. The display commit looks fine except for one tiny detail. As far as I can tell

  • A5 has the EA8061V_AMS497EE01 panel
  • E5 has the EA8061V_AMS497EE10 panel

Those are very similar but there are still some subtle differences. It seems to be mostly related to the brightness stuff:

Click me for a diff between the panel DTs!
diff --git a/EA8061V_AMS497EE01/dsi_panel_EA8061V_AMS497EE01_HD_octa_video.dtsi b/EA8061V_AMS497EE10/dsi_panel_EA8061V_AMS497EE10_HD_octa_video.dtsi
index 25bda58f492..489b1108656 100755
--- a/EA8061V_AMS497EE01/dsi_panel_EA8061V_AMS497EE01_HD_octa_video.dtsi
+++ b/EA8061V_AMS497EE10/dsi_panel_EA8061V_AMS497EE10_HD_octa_video.dtsi
@@ -18,8 +18,8 @@
 
  */
 &mdss_mdp {
-	dsi_ea8061_video_hd: ss_dsi_panel_EA8061V_AMS497EE01_HD {
-		qcom,mdss-dsi-panel-name = "ss_dsi_panel_EA8061V_AMS497EE01_HD";
+	ss_dsi_panel_EA8061V_AMS497EE10_HD: ss_dsi_panel_EA8061V_AMS497EE10_HD {
+		qcom,mdss-dsi-panel-name = "ss_dsi_panel_EA8061V_AMS497EE10_HD";
 
 		qcom,mdss-dsi-panel-controller = <&mdss_dsi0>;
 
@@ -28,7 +28,7 @@
 		qcom,mdss-dsi-bpp = <24>;
 		qcom,mdss-dsi-panel-destination = "display_1";
 
-		qcom,mdss-dsi-panel-timings = [36 23 14 00 42 46 18 30 26 03 04 00];
+		qcom,mdss-dsi-panel-timings = [36 23 14 00 42 46 18 40 26 03 04 00];
 
 		qcom,mdss-dsi-on-command = [
 			39 00 00 00 00 00 03 F0 5a 5a
@@ -135,6 +135,10 @@
  *
  * ************************************************************************************************************************************
  */
+/*		samsung,dsi-lp11-init;*/
+		samsung,esc-clk-128M;
+		samsung,outdoor_mode_support;
+
 		samsung,mdss-power-on-reset-delay-us = <5000>;
 		samsung,mdss-dsi-off-reset-delay-us = <1000>;
 
@@ -168,14 +172,14 @@
 		samsung,manufacture_id1_rx_cmds_revA = [ 06 01 00 00 00 00 01 db 01 00];
 		samsung,manufacture_id2_rx_cmds_revA = [ 06 01 00 00 00 00 01 dc 01 00];
 
-		samsung,manufacture_date_rx_cmds_revA = [ 06 01 00 00 00 00 01 C8 02 28];	/* read B6 24~25th , 23=0x17*/
+		samsung,manufacture_date_rx_cmds_revA = [ 06 01 00 00 00 00 01 C8 02 28];	/* read C8 24~25th , 23=0x17*/
 		samsung,ddi_id_rx_cmds_revA = [ 06 01 00 00 00 00 01 d6 05 00];	/* read D6 1~5th */
 		samsung,mtp_read_sysfs_rx_cmds_revA = [ 06 01 00 00 00 00 01 01 01 01];
 
-		samsung,hbm_rx_cmds_revA = [ 06 01 00 00 00 00 01 C8 06 21];	/* read C8 34~39th , 33=0x21 */
+		samsung,hbm_rx_cmds_revA = [ 06 01 00 00 00 00 01 C8 07 21];	/* read C8 34~40th , 33=0x21 */
 		samsung,hbm2_rx_cmds_revA = [ 06 01 00 00 00 00 01 C8 0F 2A];	/* read C8 43~57th , 42=0x2A */
 
-		samsung,elvss_rx_cmds_revA = [ 06 01 00 00 00 00 01 C8 01 27];	/* read C8 40th , 39=0x27*/
+		samsung,elvss_rx_cmds_revA = [ 06 01 00 00 00 00 01 B6 01 03];
 		samsung,mdnie_read_rx_cmds_revA = [ 06 01 00 00 00 00 01 A1 04 00];
 
 		samsung,ldi_debug0_rx_cmds_revA = [06 01 00 00 00 00 01 0A 01 00];
@@ -193,6 +197,8 @@
 			39 00 00 00 00 00 03 B6 4C 8a
 			/* CAPS Setting */
 			39 00 00 00 00 00 02 B5 29
+			39 00 00 00 00 00 02 B0 03
+			39 00 00 00 00 00 02 B6 00
 		];	/* Low Temperature Command */
 
 		samsung,elvss_lowtemp2_tx_cmds_revA = [
@@ -257,48 +263,49 @@
 		* ************************************************************************************************************************
 		*/
 		samsung,aid_tx_cmds_revA = [
-			39 00 00 00 00 00 05	B2 00 00 04 DF	/* 0 samsung_brightness_aor_95p63 */
-			39 00 00 00 00 00 05	B2 00 00 04 D3	/* 1 samsung_brightness_aor_94p71 */
-			39 00 00 00 00 00 05	B2 00 00 04 C7	/* 2 samsung_brightness_aor_93p79 */
-			39 00 00 00 00 00 05	B2 00 00 04 BB	/* 3 samsung_brightness_aor_92p87 */
-			39 00 00 00 00 00 05	B2 00 00 04 B0	/* 4 samsung_brightness_aor_92p02 */
-			39 00 00 00 00 00 05	B2 00 00 04 A4	/* 5 samsung_brightness_aor_91p10 */
-			39 00 00 00 00 00 05	B2 00 00 04 99	/* 6 samsung_brightness_aor_90p26 */
-			39 00 00 00 00 00 05	B2 00 00 04 8D	/* 7 samsung_brightness_aor_89p34 */
-			39 00 00 00 00 00 05	B2 00 00 04 82	/* 8 samsung_brightness_aor_88p50 */
-			39 00 00 00 00 00 05	B2 00 00 04 76	/* 9 samsung_brightness_aor_87p58 */
-			39 00 00 00 00 00 05	B2 00 00 04 6A	/* 10 samsung_brightness_aor_86p66 */
-			39 00 00 00 00 00 05	B2 00 00 04 5F	/* 11 samsung_brightness_aor_85p81 */
-			39 00 00 00 00 00 05	B2 00 00 04 52	/* 12 samsung_brightness_aor_84p82 */
-			39 00 00 00 00 00 05	B2 00 00 04 3B	/* 13 samsung_brightness_aor_83p05 */
-			39 00 00 00 00 00 05	B2 00 00 04 31	/* 14 samsung_brightness_aor_82p29 */
-			39 00 00 00 00 00 05	B2 00 00 04 25	/* 15 samsung_brightness_aor_81p37 */
-			39 00 00 00 00 00 05	B2 00 00 04 18	/* 16 samsung_brightness_aor_80p37 */
-			39 00 00 00 00 00 05	B2 00 00 04 01	/* 17 samsung_brightness_aor_78p60 */
-			39 00 00 00 00 00 05	B2 00 00 03 F5	/* 18 samsung_brightness_aor_77p68 */
-			39 00 00 00 00 00 05	B2 00 00 03 DB	/* 19 samsung_brightness_aor_75p69 */
-			39 00 00 00 00 00 05	B2 00 00 03 C5	/* 20 samsung_brightness_aor_74p00 */
-			39 00 00 00 00 00 05	B2 00 00 03 B7	/* 21 samsung_brightness_aor_72p93 */
-			39 00 00 00 00 00 05	B2 00 00 03 9E	/* 22 samsung_brightness_aor_71p01 */
-			39 00 00 00 00 00 05	B2 00 00 03 88	/* 23 samsung_brightness_aor_69p33 */
-			39 00 00 00 00 00 05	B2 00 00 03 64	/* 24 samsung_brightness_aor_66p56 */
-			39 00 00 00 00 00 05	B2 00 00 03 4B	/* 25 samsung_brightness_aor_64p64 */
-			39 00 00 00 00 00 05	B2 00 00 03 32	/* 26 samsung_brightness_aor_62p73 */
-			39 00 00 00 00 00 05	B2 00 00 03 0D	/* 27 samsung_brightness_aor_59p89 */
-			39 00 00 00 00 00 05	B2 00 00 02 E7	/* 28 samsung_brightness_aor_56p98 */
-			39 00 00 00 00 00 05	B2 00 00 02 C2	/* 29 samsung_brightness_aor_54p14 */
-			39 00 00 00 00 00 05	B2 00 00 02 9D	/* 30 samsung_brightness_aor_51p30 */
-			39 00 00 00 00 00 05	B2 00 00 02 79	/* 31 samsung_brightness_aor_48p54 */
-			39 00 00 00 00 00 05	B2 00 00 02 45	/* 32 samsung_brightness_aor_44p56 */
-			39 00 00 00 00 00 05	B2 00 00 02 13	/* 33 samsung_brightness_aor_40p72 */
+			39 00 00 00 00 00 05	B2 00 00 04 E6	/* 0 samsung_brightness_aor_95p7 */
+			39 00 00 00 00 00 05	B2 00 00 04 DC	/* 1 samsung_brightness_aor_94p25 */
+			39 00 00 00 00 00 05	B2 00 00 04 D2	/* 2 samsung_brightness_aor_93p33 */
+			39 00 00 00 00 00 05	B2 00 00 04 C8	/* 3 samsung_brightness_aor_92p41 */
+			39 00 00 00 00 00 05	B2 00 00 04 BE	/* 4 samsung_brightness_aor_91p41 */
+			39 00 00 00 00 00 05	B2 00 00 04 B4	/* 5 samsung_brightness_aor_90p49 */
+			39 00 00 00 00 00 05	B2 00 00 04 AA	/* 6 samsung_brightness_aor_89p65 */
+			39 00 00 00 00 00 05	B2 00 00 04 A0	/* 7 samsung_brightness_aor_88p73 */
+			39 00 00 00 00 00 05	B2 00 00 04 96	/* 8 samsung_brightness_aor_87p88 */
+			39 00 00 00 00 00 05	B2 00 00 04 8A	/* 9 samsung_brightness_aor_87p04 */
+			39 00 00 00 00 00 05	B2 00 00 04 82	/* 10 samsung_brightness_aor_85p89 */
+			39 00 00 00 00 00 05	B2 00 00 04 76	/* 11 samsung_brightness_aor_84p97 */
+			39 00 00 00 00 00 05	B2 00 00 04 6C	/* 12 samsung_brightness_aor_84p05 */
+			39 00 00 00 00 00 05	B2 00 00 04 57	/* 13 samsung_brightness_aor_82p21 */
+			39 00 00 00 00 00 05	B2 00 00 04 4C	/* 14 samsung_brightness_aor_81p21 */
+			39 00 00 00 00 00 05	B2 00 00 04 40	/* 15 samsung_brightness_aor_80p83 */
+			39 00 00 00 00 00 05	B2 00 00 04 32	/* 16 samsung_brightness_aor_80p29 */
+			39 00 00 00 00 00 05	B2 00 00 04 18	/* 17 samsung_brightness_aor_77p61 */
+			39 00 00 00 00 00 05	B2 00 00 04 08	/* 18 samsung_brightness_aor_76p69 */
+			39 00 00 00 00 00 05	B2 00 00 03 EE	/* 19 samsung_brightness_aor_74p92 */
+			39 00 00 00 00 00 05	B2 00 00 03 D1	/* 20 samsung_brightness_aor_73p08 */
+			39 00 00 00 00 00 05	B2 00 00 03 B7	/* 21 samsung_brightness_aor_72p09 */
+			39 00 00 00 00 00 05	B2 00 00 03 9E	/* 22 samsung_brightness_aor_70p17 */
+			39 00 00 00 00 00 05	B2 00 00 03 88	/* 23 samsung_brightness_aor_68p25 */
+			39 00 00 00 00 00 05	B2 00 00 03 64	/* 24 samsung_brightness_aor_65p41 */
+			39 00 00 00 00 00 05	B2 00 00 03 4B	/* 25 samsung_brightness_aor_63p50 */
+			39 00 00 00 00 00 05	B2 00 00 03 32	/* 26 samsung_brightness_aor_61p58 */
+			39 00 00 00 00 00 05	B2 00 00 03 0D	/* 27 samsung_brightness_aor_58p82 */
+			39 00 00 00 00 00 05	B2 00 00 02 E7	/* 28 samsung_brightness_aor_53p22 */
+			39 00 00 00 00 00 05	B2 00 00 02 C2	/* 29 samsung_brightness_aor_50p38 */
+			39 00 00 00 00 00 05	B2 00 00 02 9D	/* 30 samsung_brightness_aor_47p62 */
+			39 00 00 00 00 00 05	B2 00 00 02 79	/* 31 samsung_brightness_aor_43p87 */
+			39 00 00 00 00 00 05	B2 00 00 02 45	/* 32 samsung_brightness_aor_40p11 */
+			39 00 00 00 00 00 05	B2 00 00 02 13	/* 33 samsung_brightness_aor_39p95 */
 			39 00 00 00 00 00 05	B2 00 00 01 E7	/* 34 samsung_brightness_aor_37p35 */
-			39 00 00 00 00 00 05	B2 00 00 01 AE	/* 35 samsung_brightness_aor_32p98 */
-			39 00 00 00 00 00 05	B2 00 00 01 76	/* 36 samsung_brightness_aor_28p68 */
-			39 00 00 00 00 00 05	B2 00 00 01 39	/* 37 samsung_brightness_aor_24p00 */
-			39 00 00 00 00 00 05	B2 00 00 00 F8	/* 38 samsung_brightness_aor_19p02 */
-			39 00 00 00 00 00 05	B2 00 00 00 B4	/* 39 samsung_brightness_aor_13p80 */
-			39 00 00 00 00 00 05	B2 00 00 00 63	/* 40 samsung_brightness_aor_7p59 */
-			39 00 00 00 00 00 05	B2 00 00 00 0A	/* 41 samsung_brightness_aor_0p77 */
+			39 00 00 00 00 00 05	B2 00 00 01 E7	/* 35 samsung_brightness_aor_32p29 */
+			39 00 00 00 00 00 05	B2 00 00 01 AE	/* 36 samsung_brightness_aor_27p99 */
+			39 00 00 00 00 00 05	B2 00 00 01 76	/* 37 samsung_brightness_aor_22p70 */
+			39 00 00 00 00 00 05	B2 00 00 01 39	/* 38 samsung_brightness_aor_17p33 */
+			39 00 00 00 00 00 05	B2 00 00 00 F8	/* 39 samsung_brightness_aor_11p66 */
+			39 00 00 00 00 00 05	B2 00 00 00 B4	/* 40 samsung_brightness_aor_11p66 */
+			39 00 00 00 00 00 05	B2 00 00 00 63	/* 41 samsung_brightness_aor_7p59 */
+			39 00 00 00 00 00 05	B2 00 00 00 0A	/* 42 samsung_brightness_aor_0p77 */
 		];
 
 		samsung,aid_map_table_revA = <
@@ -311,10 +318,10 @@
 			53	30		56	31		60	32		64	33		68	34
 			72	34		77	34		82	34		87	34		93	34
 			98	34		105	34		111	34		119	34		126	34
-			134	34		143	34		152	34		162	34		172	35
-			183	36		195	37		207	38		220	39		234	40
-			249	41		265	41		282	41		300	41		316	41
-			333	41		360	41
+			134	34		143	34		152	34		162	35		172	36
+			183	37		195	38		207	39		220	40		234	41
+			249	42		265	42		282	42		300	42		316	42
+			333	42		350	42		360	42
 		>;
 
 		/*
@@ -335,7 +342,7 @@
 			39 00 00 00 00 00 02 55 03 /* 3 */
 		];
 		samsung,acl_off_tx_cmds_revA = [
-			39 00 00 00 00 00 02 B5 29
+			39 00 00 00 00 00 02 B5 21
 			39 01 00 00 72 00 02 55 00
 			39 00 00 00 00 00 02 F7 01
 		];
@@ -352,7 +359,7 @@
 			134  2	143  2	152  2	162  2	172  2
 			183  2	195  2	207  2	220  2	234  2
 			249  2	265  2	282  2	300  2	316  2
-			333  2	360  2
+			333  2	350  2	360  2
 		>;
 		/*
 		 * ************************************************************************************************************************
@@ -360,24 +367,35 @@
 		 * ************************************************************************************************************************
 		 */
 		samsung,elvss_tx_cmds_revA = [
-			39 00 00 00 00 00 03 b6 5c 9B /* 0    82 ~ 2 nit : 0x9B */
-			39 00 00 00 00 00 03 b6 5c 9A /* 1    93 ~ 87 nit : 0x9A */
-			39 00 00 00 00 00 03 b6 5c 99 /* 2    105 ~ 98 nit : 0x99 */
-			39 00 00 00 00 00 03 b6 5c 98 /* 3    111 nit : 0x98 */
-			39 00 00 00 00 00 03 b6 5c 97 /* 4    126 ~ 119 nit : 0x97 */
-			39 00 00 00 00 00 03 b6 5c 96 /* 5    134 nit : 0x96 */
-			39 00 00 00 00 00 03 b6 5c 95 /* 6    143 nit : 0x95 */
-			39 00 00 00 00 00 03 b6 5c 94 /* 7    172 ~ 152 nit : 0x94 */
-			39 00 00 00 00 00 03 b6 5c 93 /* 8    183 nit : 0x93 */
-			39 00 00 00 00 00 03 b6 5c 92 /* 9    195 nit : 0x92 */
-			39 00 00 00 00 00 03 b6 5c 91 /* 10   207 nit : 0x91 */
-			39 00 00 00 00 00 03 b6 5c 90 /* 11   249 ~ 220 nit : 0x90 */
-			39 00 00 00 00 00 03 b6 5c 8F /* 12   265 nit : 0x8F */
-			39 00 00 00 00 00 03 b6 5c 8E /* 13   282 nit : 0x8E */
-			39 00 00 00 00 00 03 b6 5c 8D /* 14   300 nit : 0x8D */
-			39 00 00 00 00 00 03 b6 5c 8C /* 15   316 nit : 0x8C */
-			39 00 00 00 00 00 03 b6 5c 8B /* 16   333 nit : 0x8B */
-			39 00 00 00 00 00 03 b6 5c 8A /* 17   350 nit : 0x8A */
+			39 00 00 00 00 00 03 b6 4c 88 /* 0    5~20 nit : 0x88 */
+			39 00 00 00 00 00 03 b6 5c 8A /* 1    21 nit  : 0x8A */
+			39 00 00 00 00 00 03 b6 5c 8D /* 2    22 nit  : 0x8D */
+			39 00 00 00 00 00 03 b6 5c 90 /* 3    24 nit : 0x90 */
+			39 00 00 00 00 00 03 b6 5c 93 /* 4    25 nit : 0x93 */
+			39 00 00 00 00 00 03 b6 5c 96 /* 5    27 nit : 0x96 */
+			39 00 00 00 00 00 03 b6 5c 99 /* 6    29 nit : 0x99 */
+			39 00 00 00 00 00 03 b6 5c 9F /* 7    30~34 nit : 0x9F */
+			39 00 00 00 00 00 03 b6 5c 9E /* 8    37~47 nit : 0x9E */
+			39 00 00 00 00 00 03 b6 5c 9D /* 9    50~56 nit : 0x9D */
+			39 00 00 00 00 00 03 b6 5c 9C /* 10   60~68 nit : 0x9C */
+			39 00 00 00 00 00 03 b6 5c 9B /* 11   72~82 nit : 0x9B */
+			39 00 00 00 00 00 03 b6 5c 9A /* 14   93 ~ 87 nit : 0x9A */
+			39 00 00 00 00 00 03 b6 5c 99 /* 15   105 ~ 98 nit : 0x99 */
+			39 00 00 00 00 00 03 b6 5c 98 /* 16   111 nit : 0x98 */
+			39 00 00 00 00 00 03 b6 5c 97 /* 17   126 ~ 119 nit : 0x97 */
+			39 00 00 00 00 00 03 b6 5c 96 /* 18   134 nit : 0x96 */
+			39 00 00 00 00 00 03 b6 5c 95 /* 19   143 nit : 0x95 */
+			39 00 00 00 00 00 03 b6 5c 94 /* 20   172 ~ 152 nit : 0x94 */
+			39 00 00 00 00 00 03 b6 5c 93 /* 21   183 nit : 0x93 */
+			39 00 00 00 00 00 03 b6 5c 92 /* 22   195 nit : 0x92 */
+			39 00 00 00 00 00 03 b6 5c 91 /* 23   207 nit : 0x91 */
+			39 00 00 00 00 00 03 b6 5c 90 /* 24   249 ~ 220 nit : 0x90 */
+			39 00 00 00 00 00 03 b6 5c 8F /* 25   265 nit : 0x8F */
+			39 00 00 00 00 00 03 b6 5c 8E /* 26   282 nit : 0x8E */
+			39 00 00 00 00 00 03 b6 5c 8D /* 27   300 nit : 0x8D */
+			39 00 00 00 00 00 03 b6 5c 8C /* 28   316 nit : 0x8C */
+			39 00 00 00 00 00 03 b6 5c 8B /* 29   333 nit : 0x8B */
+			39 00 00 00 00 00 03 b6 5c 8A /* 30   350 nit : 0x8A */
 		];
 		/*
 		 * ************************************************************************************************************************
@@ -385,24 +403,35 @@
 		 * ************************************************************************************************************************
 		 */
 		samsung,smart_acl_elvss_tx_cmds_revA = [
-			39 00 00 00 00 00 03 b6 4c 9B /* 0    82 ~ 2 nit : 0x9B */
-			39 00 00 00 00 00 03 b6 4c 9A /* 1    93 ~ 87 nit : 0x9A */
-			39 00 00 00 00 00 03 b6 4c 99 /* 2    105 ~ 98 nit : 0x99 */
-			39 00 00 00 00 00 03 b6 4c 98 /* 3    111 nit : 0x98 */
-			39 00 00 00 00 00 03 b6 4c 97 /* 4    126 ~ 119 nit : 0x97 */
-			39 00 00 00 00 00 03 b6 4c 96 /* 5    134 nit : 0x96 */
-			39 00 00 00 00 00 03 b6 4c 95 /* 6    143 nit : 0x95 */
-			39 00 00 00 00 00 03 b6 4c 94 /* 7    172 ~ 152 nit : 0x94 */
-			39 00 00 00 00 00 03 b6 4c 93 /* 8    183 nit : 0x93 */
-			39 00 00 00 00 00 03 b6 4c 92 /* 9    195 nit : 0x92 */
-			39 00 00 00 00 00 03 b6 4c 91 /* 10   207 nit : 0x91 */
-			39 00 00 00 00 00 03 b6 4c 90 /* 11   249 ~ 220 nit : 0x90 */
-			39 00 00 00 00 00 03 b6 4c 8F /* 12   265 nit : 0x8F */
-			39 00 00 00 00 00 03 b6 4c 8E /* 13   282 nit : 0x8E */
-			39 00 00 00 00 00 03 b6 4c 8D /* 14   300 nit : 0x8D */
-			39 00 00 00 00 00 03 b6 4c 8C /* 15   316 nit : 0x8C */
-			39 00 00 00 00 00 03 b6 4c 8B /* 16   333 nit : 0x8B */
-			39 00 00 00 00 00 03 b6 4c 8A /* 17   350 nit : 0x8A */
+			39 00 00 00 00 00 03 b6 4c 88 /* 0    5~20 nit : 0x88 */
+			39 00 00 00 00 00 03 b6 4c 8A /* 1    21 nit  : 0x8A */
+			39 00 00 00 00 00 03 b6 4c 8D /* 2    22 nit  : 0x8D */
+			39 00 00 00 00 00 03 b6 4c 90 /* 3    24 nit : 0x90 */
+			39 00 00 00 00 00 03 b6 4c 93 /* 4    25 nit : 0x93 */
+			39 00 00 00 00 00 03 b6 4c 96 /* 5    27 nit : 0x96 */
+			39 00 00 00 00 00 03 b6 4c 99 /* 6    29 nit : 0x99 */
+			39 00 00 00 00 00 03 b6 4c 9F /* 7    30~34 nit : 0x9F */
+			39 00 00 00 00 00 03 b6 4c 9E /* 8    37~47 nit : 0x9E */
+			39 00 00 00 00 00 03 b6 4c 9D /* 9    50~56 nit : 0x9D */
+			39 00 00 00 00 00 03 b6 4c 9C /* 10   60~68 nit : 0x9C */
+			39 00 00 00 00 00 03 b6 4c 9B /* 11   72~82 nit : 0x9B */
+			39 00 00 00 00 00 03 b6 4c 9A /* 12   93 ~ 87 nit : 0x9A */
+			39 00 00 00 00 00 03 b6 4c 99 /* 13   105 ~ 98 nit : 0x99 */
+			39 00 00 00 00 00 03 b6 4c 98 /* 14   111 nit : 0x98 */
+			39 00 00 00 00 00 03 b6 4c 97 /* 15   126 ~ 119 nit : 0x97 */
+			39 00 00 00 00 00 03 b6 4c 96 /* 16   134 nit : 0x96 */
+			39 00 00 00 00 00 03 b6 4c 95 /* 17   143 nit : 0x95 */
+			39 00 00 00 00 00 03 b6 4c 94 /* 18   172 ~ 152 nit : 0x94 */
+			39 00 00 00 00 00 03 b6 4c 93 /* 19   183 nit : 0x93 */
+			39 00 00 00 00 00 03 b6 4c 92 /* 20   195 nit : 0x92 */
+			39 00 00 00 00 00 03 b6 4c 91 /* 21   207 nit : 0x91 */
+			39 00 00 00 00 00 03 b6 4c 90 /* 22   249 ~ 220 nit : 0x90 */
+			39 00 00 00 00 00 03 b6 4c 8F /* 23   265 nit : 0x8F */
+			39 00 00 00 00 00 03 b6 4c 8E /* 24   282 nit : 0x8E */
+			39 00 00 00 00 00 03 b6 4c 8D /* 25   300 nit : 0x8D */
+			39 00 00 00 00 00 03 b6 4c 8C /* 26   316 nit : 0x8C */
+			39 00 00 00 00 00 03 b6 4c 8B /* 27   333 nit : 0x8B */
+			39 00 00 00 00 00 03 b6 4c 8A /* 28   350 nit : 0x8A */
 		];
 
 		/* bl_level, Index in elvss command list */
@@ -410,16 +439,16 @@
 			5	0		6	0		7	0		8	0		9	0
 			10	0		11	0		12	0		13	0		14	0
 			15	0		16	0		17	0		19	0		20	0
-			21	0		22	0		24	0		25	0		27	0
-			29	0		30	0		32	0		34	0		37	0
-			39	0		41	0		44	0		47	0		50	0
-			53	0		56	0		60	0		64	0		68	0
-			72	0		77	0		82	0		87	1		93	1
-			98	2		105	2		111	3		119	4		126	4
-			134	5		143	6		152	7		162	7		172	7
-			183	8		195	9		207	10		220	11		234	11
-			249	11		265	12		282	13		300	14		316	15
-			333	16		360	17
+			21	1		22	2		24	3		25	4		27	5
+			29	6		30	7		32	7		34	7		37	8
+			39	8		41	8		44	8		47	8		50	9
+			53	9		56	9		60	10		64	10		68	10
+			72	11		77	11		82	11		87	12		93	12
+			98	13		105	13		111	14		119	15		126	15
+			134	16		143	17		152	18		162	18		172	18
+			183	19		195	20		207	21		220	22		234	22
+			249	22		265	23		282	24		300	25		316	26
+			333	27		350	28		360	28
 		>;
 
 		/*
@@ -505,7 +534,6 @@
 	mdss_dsi0: qcom,mdss_dsi@1a98000 {
 		gdsc-supply = <&gdsc_mdss>;
 		vdda-supply = <&pm8916_l2>;
-		vdd-supply = <&pm8916_l17>;
 		vddio-supply = <&pm8916_l6>;
 		qcom,platform-strength-ctrl = [ff 06];
 		qcom,platform-bist-ctrl = [00 00 b1 ff 00 00];
@@ -546,16 +574,6 @@
 			#address-cells = <1>;
 			#size-cells = <0>;
 
-/*
-			qcom,panel-supply-entry@0 {
-				reg = <0>;
-				qcom,supply-name = "vdd";
-				qcom,supply-min-voltage = <3000000>;
-				qcom,supply-max-voltage = <3000000>;
-				qcom,supply-enable-load = <100000>;
-				qcom,supply-disable-load = <100>;
-			};
-*/
 			qcom,panel-supply-entry@0 {
 				reg = <1>;
 				qcom,supply-name = "vddio";

@Grimler91 Perhaps you have an opinion if these differences are worth handling and how hard it would be with the brightness support in your PR? I still don't have a good understanding how the brightness stuff works.

@wonderfulShrineMaidenOfParadise
Copy link
Author

Link: #200

@Grimler91
Copy link

Haven't looked into the vendor kernel code yet, but from dts differences above it seems like we could quite easily extend the ams497ee01 driver to be fully compatible with ams497ee10 as well, I'll look at doing that

@wonderfulShrineMaidenOfParadise wonderfulShrineMaidenOfParadise changed the base branch from msm8916/6.5-rc4 to msm8916/6.5-rc5 August 12, 2023 13:00
@wonderfulShrineMaidenOfParadise wonderfulShrineMaidenOfParadise changed the base branch from msm8916/6.5-rc5 to msm8916/6.5-rc6 August 14, 2023 13:00
@wonderfulShrineMaidenOfParadise wonderfulShrineMaidenOfParadise changed the title arm64: dts: qcom: msm8916-samsung-e5: Add touchscreen and display panel arm64: dts: qcom: msm8916-samsung-e5: Add display panel Aug 22, 2023
@wonderfulShrineMaidenOfParadise wonderfulShrineMaidenOfParadise changed the base branch from msm8916/6.5-rc6 to msm8916/6.5-rc7 August 22, 2023 13:50
@stephan-gh
Copy link
Member

Can you generate a separate panel driver for e5 for now? I know it will probably end up being identical, but that way we can merge it independently even if the a5 one gets brightness support.

@wonderfulShrineMaidenOfParadise
Copy link
Author

I would leave the display panel part for now. It would be great if a device owner continues with the works and actually tests it.

@stephan-gh stephan-gh marked this pull request as draft August 23, 2023 10:10
M0Rf30 pushed a commit to M0Rf30/linux that referenced this pull request Apr 13, 2024
[ Upstream commit a51cd6b ]

In case when is64 == 1 in emit(A64_REV32(is64, dst, dst), ctx) the
generated insn reverses byte order for both high and low 32-bit words,
resuling in an incorrect swap as indicated by the jit test:

[ 9757.262607] test_bpf: msm8916-mainline#312 BSWAP 16: 0x0123456789abcdef -> 0xefcd jited:1 8 PASS
[ 9757.264435] test_bpf: msm8916-mainline#313 BSWAP 32: 0x0123456789abcdef -> 0xefcdab89 jited:1 ret 1460850314 != -271733879 (0x5712ce8a != 0xefcdab89)FAIL (1 times)
[ 9757.266260] test_bpf: msm8916-mainline#314 BSWAP 64: 0x0123456789abcdef -> 0x67452301 jited:1 8 PASS
[ 9757.268000] test_bpf: msm8916-mainline#315 BSWAP 64: 0x0123456789abcdef >> 32 -> 0xefcdab89 jited:1 8 PASS
[ 9757.269686] test_bpf: msm8916-mainline#316 BSWAP 16: 0xfedcba9876543210 -> 0x1032 jited:1 8 PASS
[ 9757.271380] test_bpf: msm8916-mainline#317 BSWAP 32: 0xfedcba9876543210 -> 0x10325476 jited:1 ret -1460850316 != 271733878 (0xa8ed3174 != 0x10325476)FAIL (1 times)
[ 9757.273022] test_bpf: msm8916-mainline#318 BSWAP 64: 0xfedcba9876543210 -> 0x98badcfe jited:1 7 PASS
[ 9757.274721] test_bpf: msm8916-mainline#319 BSWAP 64: 0xfedcba9876543210 >> 32 -> 0x10325476 jited:1 9 PASS

Fix this by forcing 32bit variant of rev32.

Fixes: 1104247 ("bpf, arm64: Support unconditional bswap")
Signed-off-by: Artem Savkov <[email protected]>
Tested-by: Puranjay Mohan <[email protected]>
Acked-by: Puranjay Mohan <[email protected]>
Acked-by: Xu Kuohai <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Alexei Starovoitov <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
Sagi Grimberg and others added 12 commits May 7, 2024 08:07
When deleting many controllers one-by-one, it takes a very
long time as these work elements may serialize as they are
scheduled on the executing cpu instead of spreading. In general
nvmet_wq can definitely be used for long standing work elements
so its better to make it unbound regardless.

Signed-off-by: Sagi Grimberg <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Keith Busch <[email protected]>
Commit 1f2bcb8 ("gpio: protect the descriptor label with SRCU")
caused a massive drop in performance of requesting GPIO lines due to the
call to synchronize_srcu() on each label change. Rework the code to not
wait until all read-only users are done with reading the label but
instead atomically replace the label pointer and schedule its release
after all read-only critical sections are done.

To that end wrap the descriptor label in a struct that also contains the
rcu_head struct required for deferring tasks using call_srcu() and stop
using kstrdup_const() as we're required to allocate memory anyway. Just
allocate enough for the label string and rcu_head in one go.

Reported-by: Neil Armstrong <[email protected]>
Closes: https://lore.kernel.org/linux-gpio/CAMRc=Mfig2oooDQYTqo23W3PXSdzhVO4p=G4+P8y1ppBOrkrJQ@mail.gmail.com/
Fixes: 1f2bcb8 ("gpio: protect the descriptor label with SRCU")
Suggested-by: "Paul E. McKenney" <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Acked-by: "Paul E. McKenney" <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bartosz Golaszewski <[email protected]>
The debug print clearly lacks a \n at the end. Add it.

Fixes: 8f86c82 ("drm/connector: demote connector force-probes for non-master clients")
Reviewed-by: Abhinav Kumar <[email protected]>
Reviewed-by: Simon Ser <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Douglas Anderson <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/20240502153234.1.I2052f01c8d209d9ae9c300b87c6e4f60bd3cc99e@changeid
…ux/kernel/git/kvms390/linux into HEAD

KVM: s390: Fix for 6.9

Fix wild read on capability check.
Commit 7e8cdc9 ("nfc: Add KCOV annotations") added
kcov_remote_start_common()/kcov_remote_stop() pair into nci_rx_work(),
with an assumption that kcov_remote_stop() is called upon continue of
the for loop. But commit d24b035 ("nfc: nci: Fix uninit-value in
nci_dev_up and nci_ntf_packet") forgot to call kcov_remote_stop() before
break of the for loop.

Reported-by: syzbot <[email protected]>
Closes: https://syzkaller.appspot.com/bug?extid=0438378d6f157baae1a2
Fixes: d24b035 ("nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet")
Suggested-by: Andrey Konovalov <[email protected]>
Signed-off-by: Tetsuo Handa <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
The current behavior is to accept any strings as inputs, this results in
an inconsistent result where an unexisting scheduler can be set:

  # sysctl -w net.mptcp.scheduler=notdefault
  net.mptcp.scheduler = notdefault

This patch changes this behavior by checking for existing scheduler
before accepting the input.

Fixes: e3b2870 ("mptcp: add a new sysctl scheduler")
Cc: [email protected]
Signed-off-by: Gregory Detal <[email protected]>
Reviewed-by: Matthieu Baerts (NGI0) <[email protected]>
Tested-by: Geliang Tang <[email protected]>
Reviewed-by: Mat Martineau <[email protected]>
Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
Link: https://lore.kernel.org/r/20240506-upstream-net-20240506-mptcp-sched-exist-v1-1-2ed1529e521e@kernel.org
Signed-off-by: Jakub Kicinski <[email protected]>
The internal tag string doesn't contain a newline. Append one when
emitting the tag via sysfs.

[Stefan] Orthogonal to the newline issue, sysfs_emit(buf, "%s", fs->tag) is
needed to prevent format string injection.

Signed-off-by: Brian Foster <[email protected]>
Fixes: a8f62f5 ("virtiofs: export filesystem tags through sysfs")
Signed-off-by: Miklos Szeredi <[email protected]>
When tmigr_setup_groups() fails the level 0 group allocation, then the
cleanup derefences index -1 of the local stack array.

Prevent this by checking the loop condition first.

Fixes: 7ee9887 ("timers: Implement the hierarchical pull model")
Signed-off-by: Levi Yun <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Reviewed-by: Anna-Maria Behnsen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
The change from skb_copy to pskb_copy unfortunately changed the data
copying to omit the ethernet header, since it was pulled before reaching
this point. Fix this by calling __skb_push/pull around pskb_copy.

Fixes: 59c878c ("net: bridge: fix multicast-to-unicast with fraglist GSO")
Signed-off-by: Felix Fietkau <[email protected]>
Acked-by: Nikolay Aleksandrov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
When a broadcast AppleTalk packet is received, prefer queuing it on the
socket whose address matches the address of the interface that received
the packet (and is listening on the correct port). Userspace
applications that handle such packets will usually send a response on
the same socket that received the packet; this fix allows the response
to be sent on the correct interface.

If a socket matching the interface's address is not found, an arbitrary
socket listening on the correct port will be used, if any. This matches
the implementation's previous behavior.

Fixes atalkd's responses to network information requests when multiple
network interfaces are configured to use AppleTalk.

Link: https://lore.kernel.org/netdev/[email protected]/
Link: https://gist.github.com/VinDuv/4db433b6dce39d51a5b7847ee749b2a4
Signed-off-by: Vincent Duvert <[email protected]>
Signed-off-by: Doug Brown <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Different revisions of the Marvell 88q2xxx phy needs different init
sequences.

Add init sequence for Rev B1 and Rev B2. Rev B2 init sequence skips one
register write.

Tested-by: Dimitri Fedrau <[email protected]>
Signed-off-by: Gregor Herburger <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
As it was done in commit fc1092f ("ipv4: Fix uninit-value access in
__ip_make_skb()") for IPv4, check FLOWI_FLAG_KNOWN_NH on fl6->flowi6_flags
instead of testing HDRINCL on the socket to avoid a race condition which
causes uninit-value access.

Fixes: ea30388 ("ipv6: Fix an uninit variable access bug in __ip6_make_skb()")
Signed-off-by: Shigeru Yoshida <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
stephan-gh and others added 28 commits June 6, 2024 10:09
v2: Use panel detection
v4: Fix dsi0 pinctrl

Signed-off-by: Stephan Gerhold <[email protected]>
This adds headphone jack detection for samsung-gtelwifiue. This
is required for headset microphones to work.

Signed-off-by: Michael Abood <[email protected]>
The device uses nt51017 based display panel. Add it.

Signed-off-by: Michael Abood <[email protected]>
v2: Use generic huawei,y635-panel compatible

Signed-off-by: David Wronek <[email protected]>
v2: Make reset-gpios GPIO_ACTIVE_LOW
v3: Add &mdss { status = "okay"; };

Signed-off-by: Markuss Broks <[email protected]>

v4: Move from msm8916-samsung-j5
Signed-off-by: Lin, Meng-Bo <[email protected]>
Add regulators for the panel on J3. Note that l17 is required.

Signed-off-by: Lin, Meng-Bo <[email protected]>
J3 and J5X use an Imagis IST3038C touchscreen that is connected to
blsp_i2c5. Add it to the device tree.

Regulator and MFD drivers for SM5703 are unavailable at the moment, which
is required to power up the touchscreen on J5, so it's disabled on J5 for
now.

Signed-off-by: Lin, Meng-Bo <[email protected]>
Signed-off-by: Lin, Meng-Bo <[email protected]>
v4: Split from common commit after j5 upstreaming
Signed-off-by: Stephan Gerhold <[email protected]>
…tection (v2)

v2: Moved from msm8916-samsung-j5x

Headset microphone is broken with this on j5x, headphone buttons are
broken as well. (Needs more investigation...)

Signed-off-by: Lin, Meng-Bo <[email protected]>
E7 uses a ST-Microelectronics FingerTip touchscreen that is connected to
blsp_i2c5. Add it to the device tree.

v2: Add suffix "-state" to pinctrl.

Signed-off-by: Lin, Meng-Bo <[email protected]>
v2: Add suffix "-state" to pinctrl.

Signed-off-by: Lin, Meng-Bo <[email protected]>
Grand Max uses an Imagis IST3038 touchscreen that is connected to
blsp_i2c5. Add it to the device tree.

Signed-off-by: "Lin, Meng-Bo" <[email protected]>
v2: Set &mdss_dsi0 and &mdss_dsi0_phy with status = "okay";
v3: adapted for current msm8939.dtsi (mdss_dsi0 and mdss_dsi0_phy)
[vknecht: adapted for current msm8939.dtsi (mdss_dsi0 and mdss_dsi0_phy)]
v4: adapted for current msm8939.dtsi (dsi0 and dsi_phy0)
Add suffix "-state" to pinctrl.
Put status = "okay"; at the end of the properties
v5: Add missed status for the dsi phy

Signed-off-by: "Lin, Meng-Bo" <[email protected]>
v2: Add suffix "-state" to pinctrl.

Signed-off-by: Lin, Meng-Bo <[email protected]>
Add support for SMB1360 fuel gauge & charger circuit.

Signed-off-by: Vincent Knecht <[email protected]>
v2: Increase timeout to 768
Signed-off-by: Jakob Hauser <[email protected]>
Signed-off-by: André Apitzsch <[email protected]>
v4: split from initial commit after upstreaming
Signed-off-by: Stephan Gerhold <[email protected]>
Add support for SMB1360 fuel gauge and charger circuit.

Signed-off-by: André Apitzsch <[email protected]>
v2: Increase timeout to 768
Signed-off-by: Jakob Hauser <[email protected]>
barni2000 pushed a commit to msm8953-mainline/linux that referenced this pull request Jun 21, 2024
[ Upstream commit 8ecf3c1 ]

Recent additions in BPF like cpu v4 instructions, test_bpf module
exhibits the following failures:

  test_bpf: #82 ALU_MOVSX | BPF_B jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #83 ALU_MOVSX | BPF_H jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #84 ALU64_MOVSX | BPF_B jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #85 ALU64_MOVSX | BPF_H jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #86 ALU64_MOVSX | BPF_W jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)

  test_bpf: #165 ALU_SDIV_X: -6 / 2 = -3 jited:1 ret 2147483645 != -3 (0x7ffffffd != 0xfffffffd)FAIL (1 times)
  test_bpf: #166 ALU_SDIV_K: -6 / 2 = -3 jited:1 ret 2147483645 != -3 (0x7ffffffd != 0xfffffffd)FAIL (1 times)

  test_bpf: #169 ALU_SMOD_X: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)
  test_bpf: #170 ALU_SMOD_K: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)

  test_bpf: #172 ALU64_SMOD_K: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)

  test_bpf: msm8916-mainline#313 BSWAP 16: 0x0123456789abcdef -> 0xefcd
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 301 PASS
  test_bpf: msm8916-mainline#314 BSWAP 32: 0x0123456789abcdef -> 0xefcdab89
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 555 PASS
  test_bpf: msm8916-mainline#315 BSWAP 64: 0x0123456789abcdef -> 0x67452301
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 268 PASS
  test_bpf: msm8916-mainline#316 BSWAP 64: 0x0123456789abcdef >> 32 -> 0xefcdab89
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 269 PASS
  test_bpf: msm8916-mainline#317 BSWAP 16: 0xfedcba9876543210 -> 0x1032
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 460 PASS
  test_bpf: msm8916-mainline#318 BSWAP 32: 0xfedcba9876543210 -> 0x10325476
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 320 PASS
  test_bpf: msm8916-mainline#319 BSWAP 64: 0xfedcba9876543210 -> 0x98badcfe
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 222 PASS
  test_bpf: msm8916-mainline#320 BSWAP 64: 0xfedcba9876543210 >> 32 -> 0x10325476
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 273 PASS

  test_bpf: msm8916-mainline#344 BPF_LDX_MEMSX | BPF_B
  eBPF filter opcode 0091 (@5) unsupported
  jited:0 432 PASS
  test_bpf: msm8916-mainline#345 BPF_LDX_MEMSX | BPF_H
  eBPF filter opcode 0089 (@5) unsupported
  jited:0 381 PASS
  test_bpf: msm8916-mainline#346 BPF_LDX_MEMSX | BPF_W
  eBPF filter opcode 0081 (@5) unsupported
  jited:0 505 PASS

  test_bpf: torvalds#490 JMP32_JA: Unconditional jump: if (true) return 1
  eBPF filter opcode 0006 (@1) unsupported
  jited:0 261 PASS

  test_bpf: Summary: 1040 PASSED, 10 FAILED, [924/1038 JIT'ed]

Fix them by adding missing processing.

Fixes: daabb2b ("bpf/tests: add tests for cpuv4 instructions")
Signed-off-by: Christophe Leroy <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
Link: https://msgid.link/91de862dda99d170697eb79ffb478678af7e0b27.1709652689.git.christophe.leroy@csgroup.eu
Signed-off-by: Sasha Levin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet