Currently, during ctl reset in video mode, irq register or
unregister might result in race condition with vblank
enable/disable calls on event thread resulting in enable
cnt mismatch. This change adds mutex locks to avoid race
conditions in such cases.
Change-Id: I45aef19864475ac1b02dd8e84810eee233fc60ea
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
In pstate_cmp the plane_state structures are accessed
without checking it is allocated or not, which leads to
null pointer dereference. To fix it NULL check is added.
Change-Id: I5982138b396b70979205d87bc9aa260d9501fee0
Signed-off-by: Mahadevan <mahap@codeaurora.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Add changes to fix the null dereference in
drm_atomic_get_property caused by connector->state
being NULL. This change allows the drm_mode_config_reset
operation to happen before drm_dev_register to avoid this.
In current scenario, connector->state->crtc is being
accessed due to call to drm_mode_getconnector ioctl with
the drm_mode_config_reset operation pending.
Change-Id: I374d9485819fad85100d1837f4ae22fc2a3ccc40
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Fix out of bound access that occurs when reading dsi
commands with custom non 4 bytes aligned payload.
When misaligned, the code is overfetching data due
to 32 bits reading constraint. This creates an offset
in receiving buffer. Using a local copy buffer large
enough to hold the extra bytes fixes the issue.
Bug: 139655049
Change-Id: Ia0ee791d2e87639edd58191cfd5cb6f8f825f8c8
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
(cherry picked from 8f44ae7ca74a5faf6d7caaac48899192301f250d)
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Move the hist irq handling out of callback function, i.e., the hw
interrupt irq_lock context, to avoid dead lock between crtc spin_lock
and irq_lock. This change also extends crtc spin_lock coverage in
_sde_cp_crtc_enable_hist_irq to prevent null pointer dereference on
event node, which can be deleted during crtc event de-registration.
Change-Id: Iadaed54ab93c4c4abe065a8762d2addccb0c65c6
Signed-off-by: Ping Li <pingli@codeaurora.org>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
This driver provides exposure adjustment function by Qcom SDE dim
layer without change panel hardware brightness to avoid PWM flicker
on OLED devices. Thanks to OnePlus' opensource code for inspiring
me to use dim layer.
Use expo_calc_backlight to remap brightness with hardware and SDE,
checking Disable Hardware Overlays in developer options if you face
blocks with differents brightness issue.
[Ayrton: Backported from lahaina to SMxx50.0 SDE Driver for compatibility]
Signed-off-by: DevriesL <therkduan@gmail.com>
Signed-off-by: Carlos Ayrton Lopez Arroyo <15030201@itcelaya.edu.mx>
Add a sysfs mechanism to track the idle state of display subsystem.
This allows user space to poll on the idle state node to detect when
display goes idle for longer than the time set.
Bug: 139655049
Bug: 126304228
Change-Id: I21e3c7b0830a9695db9f65526c111ce5153d1764
Signed-off-by: Adrian Salido <salidoa@google.com>
Signed-off-by: Robb Glasser <rglasser@google.com>
(cherry picked from commit 11a2193b434cb3130743fbff89a161062883132e)
Signed-off-by: Ken Huang <kenbshuang@google.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
With how often these macros are used in frame commit hotpaths, the
drm_debug bitmask check adds measurably significant overhead during
continuous frame commits. Omit the debug logging code entirely if !DEBUG
and !DYNAMIC_DEBUG to fix it.
Signed-off-by: Danny Lin <danny@kdrag0n.dev>
This change increases the kickoff timeout in doze and
doze suspend usecases. This avoids false timeouts seen
in doze due to rscc static wakeup configured at a different
fps from actual panel TE.
Change-Id: I11c94eb40d4dbbc3d95b8268b007580599ee90fd
Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
This commit was creating unnecessary wakeup sources in root with illegal names containing spaces
For example "Listen [0-9] Audio Service"
Listen [0-9] Audio Service are common dai links defined in individual SOC specific codec files
and as these dai links are registed on msm-lse-client platform they were being created as a file
in linux root with illegal spaces in their name.
So, avoid creating wakeup sources with such names as they are not needed for anything critical
Fixes: wakeup_stats denials
Side Effects: None
This reverts commit b8348e7cb7a90a82ef9d75cc605b039f6bf7e7e9.
Change-Id: I7a36172c48d91afbc90e4e3058e178982db0ff27
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
Add irq request check condition before enabling swrm interrupt
This will make sure to only enabled interrupt request when it is in disabled state.
This Fixes:
W : ------------[ cut here ]------------
W : Unbalanced enable for IRQ 502
W : WARNING: CPU: 4 PID: 81 at kernel/irq/manage.c:621 enable_irq+0x98/0xf0
I : Modules linked in:
I : CPU: 4 PID: 81 Comm: kworker/4:1 Tainted: G S 4.19.197-IMMENSITY-g09a924c384cb #1
I Hardware name: Qualcomm Technologies, Inc. xiaomi alioth (DT)
I Workqueue: pm pm_runtime_work
I pstate : 60c00085 (nZCv daIf +PAN +UAO)
I pc : enable_irq+0x98/0xf0
I lr : enable_irq+0x98/0xf0
I sp : ffffff800885bbb0
I : x29: ffffff800885bbc0 x28: ffffffa6fea0db38
I : x27: 0000000000000002 x26: 0000000000000000
I : x25: ffffffd1991ef37d x24: 0000000000000000
I : x23: ffffffd1991edca1 x22: ffffffd199555410
I : x21: ffffffd1991ef248 x20: 00000000000001f6
I : x19: ffffffd18cc7b400 x18: ffffffd1b4e9f048
I : x17: 0000000000000000 x16: 0000000000000000
I : x15: 0000000000000086 x14: 0000000000000030
I : x13: 0000000000049754 x12: 0000000000000000
I : x11: 0000000000000000 x10: 0000000000000007
I : x9 : 060ca0f25e42ae00 x8 : 060ca0f25e42ae00
I : x7 : 0000000000000000 x6 : ffffffa6fed3f8e5
I : x5 : 00000000001b68dc x4 : 000000000000000e
I : x3 : 0000000000000032 x2 : 0000000000000007
I : x1 : 0000000000000007 x0 : 000000000000001d
I Call trace:
I : enable_irq+0x98/0xf0
I : swrm_runtime_suspend+0x390/0x47c
I : pm_generic_runtime_suspend+0x28/0x3c
I : __rpm_callback+0x12c/0x218
I : rpm_suspend+0x420/0x7cc
I : pm_runtime_work+0x98/0xa8
I : process_one_work+0x228/0x3f4
I : worker_thread+0x264/0x4b0
I : kthread+0x13c/0x158
I : ret_from_fork+0x10/0x18
W : ---[ end trace 56c9cc0df5ea202b ]---
Change-Id: Ic539bfc8d595faf530361d32e0be4ce9009fec08
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
* Since we're not using kernel modules,
these files are unnecessary for standalone kernel builds.
Furthermore, removing them helps avoid confusing inline build system.
Signed-off-by: alk3pInjection <webmaster@raspii.tech>