<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/gpu/drm/solomon, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2026-08-06T12:55:55+00:00</updated>
<entry>
<title>drm/ssd130x: Add per-family update backlight logic</title>
<updated>2026-08-06T12:55:55+00:00</updated>
<author>
<name>Amit Barzilai</name>
<email>amit.barzilai22@gmail.com</email>
</author>
<published>2026-07-29T05:30:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2996ceebe33f989b32fb967a98b64d3a3b652f46'/>
<id>urn:sha1:2996ceebe33f989b32fb967a98b64d3a3b652f46</id>
<content type='text'>
ssd130x_update_bl() runs for every SSD13xx panel, but it only works for
SSD130x and SSD132x: it writes the single global SSD13XX_CONTRAST (0x81)
command, which those two families expose.  SSD133x has no such command --
it has three per-channel contrast registers (CONTRAST_A/B/C) that must be
scaled together -- so ssd130x_update_bl() has no effect on it.

Make backlight_ops.update_status a per-family choice.  SSD130x and SSD132x
keep ssd130x_update_bl() because they share the SSD13XX_CONTRAST interface,
while SSD133x gets ssd133x_update_bl(), which drives the three channels
through ssd133x_set_contrast().

Signed-off-by: Amit Barzilai &lt;amit.barzilai22@gmail.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260729053054.29374-3-amit.barzilai22@gmail.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ssd130x: Scale ssd133x per-channel contrast by brightness on init</title>
<updated>2026-08-06T12:55:55+00:00</updated>
<author>
<name>Amit Barzilai</name>
<email>amit.barzilai22@gmail.com</email>
</author>
<published>2026-07-29T05:30:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a16d5be8ea2ad36aa95373095fd635b3c5f84be4'/>
<id>urn:sha1:a16d5be8ea2ad36aa95373095fd635b3c5f84be4</id>
<content type='text'>
ssd133x_init() wrote the SSD133X_CONTRAST_A/B/C commands with magic hex
values (0x91/0x50/0x7d).  These are a per-channel white-balance
calibration: the A/B/C channels drive sub-pixels whose OLED materials
differ in luminous efficiency, so the values set the white point at full
brightness.

Extract them into ssd133x_set_contrast(), which scales each channel by a
requested brightness via ssd130x_scale_contrast(), instead of writing the
calibration unconditionally.  This makes the sequence readable, avoids
repetition, and is a prerequisite for wiring up an ssd133x backlight
controller that dims while preserving the white point.

Note this changes the ssd133x power-on brightness.  Previously the init
wrote the calibration unscaled and ignored ssd130x-&gt;contrast, so the
panel always booted at full brightness.  It now scales by the shared
default contrast of 127, i.e. half of MAX_CONTRAST (255).  This is
intentional and matches ssd130x, whose contrast register also defaults
to 127 (mid-scale), so all families now power on at ~50% and report
props.brightness = 127 / max_brightness = 255 to userspace.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Amit Barzilai &lt;amit.barzilai22@gmail.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260729053054.29374-2-amit.barzilai22@gmail.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/solomon: remove unneeded variables in blit functions</title>
<updated>2026-07-16T08:21:02+00:00</updated>
<author>
<name>Iker Pedrosa</name>
<email>ikerpedrosam@gmail.com</email>
</author>
<published>2026-07-09T10:53:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e5320be8a585a9286f231305d0d443d59c24e46c'/>
<id>urn:sha1:e5320be8a585a9286f231305d0d443d59c24e46c</id>
<content type='text'>
Remove unneeded 'ret' variables in ssd130x_fb_blit_rect(),
ssd132x_fb_blit_rect(), and ssd133x_fb_blit_rect() functions.
These functions initialize ret to 0 and return it unchanged,
so return 0 directly instead.

Fixes: 2258f03989af ("drm/solomon: Move calls to drm_gem_fb_end_cpu*()")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: https://lore.kernel.org/oe-kbuild-all/202606301409.I0ctsf41-lkp@intel.com/
Signed-off-by: Iker Pedrosa &lt;ikerpedrosam@gmail.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260709-fix-ssd130x-v1-1-1272cb3dc85e@gmail.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ssd130x: fix column and row end address in partial updates in ssd133x</title>
<updated>2026-07-06T10:35:03+00:00</updated>
<author>
<name>Amit Barzilai</name>
<email>amit.barzilai22@gmail.com</email>
</author>
<published>2026-06-22T12:26:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b7fcb70162acd7f15ed20bc64a14c150db34256f'/>
<id>urn:sha1:b7fcb70162acd7f15ed20bc64a14c150db34256f</id>
<content type='text'>
On partial screen updates, SSD133X controllers expect to get the
rectangle addresses as arguments of the "Set Column Address" and "Set
Row Address" commands. Each command expects the start address and end
address of the row/column in absolute format, however the end
addresses were being sent in a relative format (relative to the start
address).

The relative end addresses work only when the start address is 0. In
those situations, there is no value difference between relative and
absolute addresses.

Fixes: b4299c936d8fd ("drm/ssd130x: Add support for the SSD133x OLED controller family")
Cc: stable@vger.kernel.org
Signed-off-by: Amit Barzilai &lt;amit.barzilai22@gmail.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260622122604.32500-4-amit.barzilai22@gmail.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ssd130x: hoist column and row addresses out of repeated division</title>
<updated>2026-07-06T10:35:03+00:00</updated>
<author>
<name>Amit Barzilai</name>
<email>amit.barzilai22@gmail.com</email>
</author>
<published>2026-06-22T12:26:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2f1ac69c0693a42a6d0026744e02df6275e3a169'/>
<id>urn:sha1:2f1ac69c0693a42a6d0026744e02df6275e3a169</id>
<content type='text'>
The ssd132x_update_rect had to calculate the column address twice in
the same function by dividing the byte address and the segment_width.
Optimize this by hoisting the result into a col variable.

Renamed the "y" variable to "row" to match the change made in the x
axis.

Signed-off-by: Amit Barzilai &lt;amit.barzilai22@gmail.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260622122604.32500-3-amit.barzilai22@gmail.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/ssd130x: fix column and row end address in partial updates for ssd132x</title>
<updated>2026-07-06T10:35:03+00:00</updated>
<author>
<name>Amit Barzilai</name>
<email>amit.barzilai22@gmail.com</email>
</author>
<published>2026-06-22T12:26:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=99e9c09358195454ecd200b9c6aba6b7d209fad4'/>
<id>urn:sha1:99e9c09358195454ecd200b9c6aba6b7d209fad4</id>
<content type='text'>
On partial screen updates, SSD132X controllers expect to get the
rectangle addresses as arguments of the "Set Column Address" and "Set
Row Address" commands. Each command expects the start address and end
address of the row/column in absolute format, however the end
addresses were being sent in a relative format (relative to the start
address).

The relative end addresses work only when the start address is 0. In
those situations, there is no value difference between relative and
absolute addresses.

Fixes: fdd591e00a9c9 ("drm/ssd130x: Add support for the SSD132x OLED controller family")
Cc: stable@vger.kernel.org
Signed-off-by: Amit Barzilai &lt;amit.barzilai22@gmail.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260622122604.32500-2-amit.barzilai22@gmail.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/solomon: use ssd130x_run_cmd_seq() in ssd133x_init()</title>
<updated>2026-06-16T08:44:02+00:00</updated>
<author>
<name>Alberto Ruiz</name>
<email>aruiz@redhat.com</email>
</author>
<published>2026-06-12T17:17:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b00af384431df3c669a36788dd9c0dd642c84e30'/>
<id>urn:sha1:b00af384431df3c669a36788dd9c0dd642c84e30</id>
<content type='text'>
Replace individual ssd130x_write_cmd() calls and per-command error
checks with a flat command array dispatched through ssd130x_run_cmd_seq().

Signed-off-by: Alberto Ruiz &lt;aruiz@redhat.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Tested-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260612-ssd-batchcmd-v1-4-c61e5f7c24bc@redhat.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/solomon: use ssd130x_run_cmd_seq() in ssd132x_init()</title>
<updated>2026-06-16T08:44:02+00:00</updated>
<author>
<name>Alberto Ruiz</name>
<email>aruiz@redhat.com</email>
</author>
<published>2026-06-12T17:17:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bc9f61ef36550727234583ca3d2307b919ecfa27'/>
<id>urn:sha1:bc9f61ef36550727234583ca3d2307b919ecfa27</id>
<content type='text'>
Replace individual ssd130x_write_cmd() calls and per-command error
checks with a flat command array dispatched through ssd130x_run_cmd_seq().

Signed-off-by: Alberto Ruiz &lt;aruiz@redhat.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Tested-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260612-ssd-batchcmd-v1-3-c61e5f7c24bc@redhat.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/solomon: use ssd130x_run_cmd_seq() in ssd130x_init()</title>
<updated>2026-06-16T08:44:01+00:00</updated>
<author>
<name>Alberto Ruiz</name>
<email>aruiz@redhat.com</email>
</author>
<published>2026-06-12T17:17:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5ff55125d8609d288dfa21283df9354d00a1e5fe'/>
<id>urn:sha1:5ff55125d8609d288dfa21283df9354d00a1e5fe</id>
<content type='text'>
Replace individual ssd130x_write_cmd() calls and per-command error
checks with flat command arrays dispatched through ssd130x_run_cmd_seq().

Signed-off-by: Alberto Ruiz &lt;aruiz@redhat.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Tested-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260612-ssd-batchcmd-v1-2-c61e5f7c24bc@redhat.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/solomon: add ssd130x_run_cmd_seq() for batch command execution</title>
<updated>2026-06-16T08:44:01+00:00</updated>
<author>
<name>Alberto Ruiz</name>
<email>aruiz@redhat.com</email>
</author>
<published>2026-06-12T17:17:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=208211646fb3649cf0e3aab761490b57c0d2b3c7'/>
<id>urn:sha1:208211646fb3649cf0e3aab761490b57c0d2b3c7</id>
<content type='text'>
Introduce ssd130x_run_cmd_seq() that interprets a flat byte array of
length-prefixed command entries terminated by a zero byte, removing the
need for per-command error checking at each call site.

Signed-off-by: Alberto Ruiz &lt;aruiz@redhat.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Tested-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Link: https://patch.msgid.link/20260612-ssd-batchcmd-v1-1-c61e5f7c24bc@redhat.com
Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
</content>
</entry>
</feed>
