Commit graph

607000 commits

Author SHA1 Message Date
Amandeep Singh
23ddb3ee2d msm: qcn: Synchronize clients operating at different modes
Add synchronization support between clients that operate on different
modes, i.e. synchronous or asynchronous. The synchronous client will
momentarily switch to asynchronous if any asynchronous transmission is
scheduled.

Change-Id: I41aec9bff950d2816a9ce55017e118e8504be77a
Signed-off-by: Amandeep Singh <amansing@codeaurora.org>
2019-09-03 11:11:32 +05:30
Amandeep Singh
ff692c2700 msm: qcn: Reserve 8 bufferes in RW queue for RX
The current QCN core driver support four concurrent clients,
and there can be only two CRQ's that can be raised per client
from device.
Reserve 8 bufferes for data reception from device to host.

Change-Id: Iac72b5dd51988ffd1139bf55ecb9799bded77710
Signed-off-by: Amandeep Singh <amansing@codeaurora.org>
2019-09-03 11:09:55 +05:30
Amandeep Singh
4c78c55ad2 msm: qcn: Increase RW queue size
Increase RW queue size to compensate higer data transfer from host
to device, when device is operating at lower frequencies.

Change-Id: I443aead06c757cde40ee99ea2c29a5f323249b8b
Signed-off-by: Amandeep Singh <amansing@codeaurora.org>
2019-09-03 11:08:05 +05:30
Amandeep Singh
bec7c9d8a8 msm: qcn: Update read/write APIs
Update read/write API in QCN sdio core driver to issue CMD53
instead of CMD52 for data equal or greater than 4 bytes.

Change-Id: I5641f32fa8896d3fafb087b440ff69ad936a83ee
Signed-off-by: Amandeep Singh <amansing@codeaurora.org>
2019-09-03 11:05:57 +05:30
Amandeep Singh
e4f6d17190 msm: Add QCN SDIO core driver
Add QCN SDIO core driver as function-1 driver to provide streamlined
communication for peripheral device connected over sdio.

Change-Id: Ia8aec77807b59d3e1476b0a12ee7016809335b39
Signed-off-by: Amandeep Singh <amansing@codeaurora.org>
2019-09-03 11:03:23 +05:30
Linux Build Service Account
2a61e30d44 Merge "scsi: ufs: sysfs: health descriptor" 2019-08-08 09:34:53 -07:00
Linux Build Service Account
48fc496fe6 Merge "msm: vidc: Ensure size of the data available before typecasting" 2019-08-08 09:34:52 -07:00
Linux Build Service Account
0db6a6e103 Merge "diag: dci: Prevent using uninitialized variables" 2019-08-08 09:34:51 -07:00
Linux Build Service Account
3c59a98429 Merge "ASoC: msm: qdsp6v2: Remove param_size from pkt_size of apr header" 2019-08-08 09:34:50 -07:00
Linux Build Service Account
99f99486ae Merge "msm: mdss: hdmi: adjust HDMI DDC speed configuration" 2019-08-08 09:34:49 -07:00
Linux Build Service Account
8b46fe9a33 Merge "drm/msm/dsi-staging: Add length check before copying to user space" 2019-08-08 09:34:48 -07:00
Linux Build Service Account
982ba8be16 Merge "msm: mdss: hdcp: handle hdcp off gracefully" 2019-08-08 09:34:47 -07:00
Linux Build Service Account
3518238db1 Merge "icnss: Synchronize idle shutdown and restart" 2019-08-07 23:24:22 -07:00
Stanislav Nijnikov
b70cf77fb4 scsi: ufs: sysfs: health descriptor
This patch introduces a sysfs group entry for the UFS health descriptor
parameters. The group adds "health_descriptor" folder under the UFS driver
sysfs entry (/sys/bus/platform/drivers/ufshcd/*). The parameters are shown
as hexadecimal numbers. The full information about the parameters could be
found at UFS specifications 2.1.

Change-Id: I059d6be2914dbb58ac337ddf7509f36a534b531f
Signed-off-by: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Git-commit: c648c2d27f168ae4faeb43f8c3074226aae3862c
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Anjana <ahari@codeaurora.org>
2019-08-07 14:36:56 +05:30
Priyanka Gujjula
dc729ca2a6 msm: vidc: Ensure size of the data available before typecasting
Ensure the available data size with in the packet before type
casting from smaller data type to larger data type in order
to avoid information leak or packet out of boundary access.

Change-Id: I8614a8b3f930c87af8aa49f77ea9d768a73ea203
Signed-off-by: Priyanka Gujjula <pgujjula@codeaurora.org>
2019-08-06 23:15:39 -07:00
Manoj Prabhu B
0c77233691 diag: dci: Prevent using uninitialized variables
Avoid using uninitialized variables by initializing to prevent
invalid behavior.

Change-Id: I5c04874d63f0250b84f4967d48f79e6b4b733bc1
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
2019-08-06 11:42:57 +05:30
Linux Build Service Account
ecb87a9e7a Merge "fbdev: msm: Call vsync_handler only after ctl start" 2019-08-05 21:59:55 -07:00
Naman Padhiar
7481303870 icnss: Synchronize idle shutdown and restart
If WLAN interface is not brought up for certain amount of time
after it is created, idle shutdown will happen to power off WLAN
device. Idle restart will happen to power up WLAN device if WLAN
is needed by user again. Add the support in platform driver.

Change-Id: I63e85c7de20536fc4146e05146e72537095025e5
Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
2019-08-04 02:14:34 +05:30
Linux Build Service Account
a417d8a746 Merge "drm/msm: fix re-entry problem for msm_atomic_commit" 2019-08-03 06:04:23 -07:00
Linux Build Service Account
aa2bb48a42 Merge "msm: camera_v2: reject the late request" 2019-08-03 06:04:15 -07:00
Xiaowen Wu
9c2892993d drm/msm: fix re-entry problem for msm_atomic_commit
When plane is detached from crtc in one atomic commit and then
attached to another crtc in the next atomic commit, the second
plane state swap will happen when the first commit is still running
in the previous crtc's worker thread, which will result in two
threads programming the same plane and run into undeterministic
state.

Fix is to add plane_mask check before state swap, together with
crtc_mask check. This will make sure there is no pending worker
thread working on the same plane.

Change-Id: I64cd4b68fa9746e988d933069ac0f8083d974c79
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
2019-08-02 12:33:08 -04:00
Linux Build Service Account
bd9885ab9a Merge "msm: mdss: hdmi: fix 4 block EDID read failure" 2019-08-02 05:16:55 -07:00
Srikanth Uyyala
bc82952bb8 msm: camera_v2: reject the late request
when request_frame is very late or reg_update is missing for previous frame
reject it inform using drop_reconfig flag.

Change-Id: Ic7be9c765da63e2c84c4ce2ff05a3cc146f5c2bd
Signed-off-by: Srikanth Uyyala <suyyala@codeaurora.org>
Signed-off-by: Sumalatha Malothu <smalot@codeaurora.org>
2019-08-02 04:27:36 -07:00
Narender Ankam
4422b03d97 msm: mdss: hdmi: fix 4 block EDID read failure
Only Block0 and Block1 of EDID are being read successfully.
Fix EDID segment read failure for Block2 and Block3.

Change-Id: I2d501878c6089b275e77587f3f41416aec2ef389
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2019-08-02 03:56:08 -07:00
Manoj Prabhu B
55f19c48a7 diag: dci: Validate pkt length before parsing for full header
Few commands with smaller length than dci packet request header
can fail due to present header length check. Modify the length
check to cater to smaller length packets.

Change-Id: Icf2e45b4eb1be0f2a15f47e58baffe86ece20a1d
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
2019-08-02 02:56:41 -07:00
Nirmal Abraham
3dd5febeec fbdev: msm: Call vsync_handler only after ctl start
In hdmi-as-primary usecase with resolution change, the
vsync_handler can get called from overlay_on function before
the vsync handler is registered via ctl_start. Add a check
to avoid the null ptr access while accessing the vsync
handler function ptr in this case.

Change-Id: Ic47b10502939c4a4751c78da1f8fe28b3005cf3b
Signed-off-by: Nirmal Abraham <nabrah@codeaurora.org>
2019-08-01 11:23:35 +05:30
Narender Ankam
01e259a185 msm: mdss: hdmi: adjust HDMI DDC speed configuration
HDMI 2.0 compliance E-DDC test requires the DDC
signal timings to meet a minimum threshold to pass
the compliance test. Current DDC settings were not
matching the requirement.

Adjust the DDC settings to meet the threshold and
also make sure to leave the remaining bits of DDC
speed register untouched.

Change-Id: I9a33ba38baa8be94dee5447e79ad0a3a2a0bc8be
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2019-07-31 13:45:15 +05:30
Jani Nikula
ba309f5e08 drm: handle override and firmware EDID at drm_do_get_edid() level
Handle debugfs override edid and firmware edid at the low level to
transparently and completely replace the real edid. Previously, we
practically only used the modes from the override EDID, and none of the
other data, such as audio parameters.

This change also prevents actual EDID reads when the EDID is to be
overridden, but retains the DDC probe. This is useful if the reason for
preferring override EDID are problems with reading the data, or
corruption of the data.

Move firmware EDID loading from helper to core, as the functionality
moves to lower level as well. This will result in a change of module
parameter from drm_kms_helper.edid_firmware to drm.edid_firmware, which
arguably makes more sense anyway.

Some future work remains related to override and firmware EDID
validation. Like before, no validation is done for override EDID. The
firmware EDID is validated separately in the loader. Some unification
and deduplication would be in order, to validate all of them at the
drm_do_get_edid() level, like "real" EDIDs.

v2: move firmware loading to core

v3: rebase, commit message refresh

Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Dave Airlie <airlied@gmail.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1e8a710bcac46e5136c1a7b430074893c81f364a.1505203831.git.jani.nikula@intel.com
Git-commit: 53fd40a90f3c0bdad86ec266ee5df833f54ace39
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I5003038a40d3eeb469dc49257650f4194f084231
[tanmay@codeaurora.org: resolved trivial merge conflicts]
Signed-off-by: Tanmay Shah <tanmay@codeaurora.org>
2019-07-30 15:32:17 -07:00
Linux Build Service Account
d6bf038c87 Merge "msm: kgsl: Fix race condition between drawobj and context destroy" 2019-07-29 04:59:30 -07:00
Linux Build Service Account
6876dc0e13 Merge "Merge android-4.4.186 (aeb051d) into msm-4.4" 2019-07-29 04:59:29 -07:00
Aditya Bavanari
2f606aebdb ASoC: msm: qdsp6v2: Remove param_size from pkt_size of apr header
As param_size is included in apr header pkt_size, out of
bounds access occurs in glink. Remove the param size addition
to fix this issue.

CRs-Fixed: 2472208
Change-Id: If8b34aeacd3bc9ba67ac9276eb1a8ebf0933f9f9
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2019-07-29 00:05:46 -07:00
Linux Build Service Account
80cb08efce Merge "soc: qcom: glink_smem: Initialize buffers" 2019-07-28 21:20:07 -07:00
Linux Build Service Account
32d3d6b1c6 Merge "drm: move edid property update and add modes out of edid firmware loader" 2019-07-27 00:43:48 -07:00
Linux Build Service Account
653154b099 Merge "msm: mdss: save state of vsync handler" 2019-07-27 00:43:47 -07:00
Linux Build Service Account
7d3376d5d7 Merge "fbdev: msm: check for target supports dest scaler" 2019-07-27 00:43:46 -07:00
Gerrit - the friendly Code Review server
9a35bd4cb4 Merge changes into msm-4.4 2019-07-27 00:25:25 -07:00
Jani Nikula
6f5be8d26c drm: move edid property update and add modes out of edid firmware loader
Make the firmware loader more generic and generally useful.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1487344854-18777-2-git-send-email-jani.nikula@intel.com
Git-commit: 07c2b84b9956dd5d0871d47f5f0bbf9388d2d83f
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I918426a1ef7b11cfea95827b89eec821d1f4a95a
Signed-off-by: Tanmay Shah <tanmay@codeaurora.org>
2019-07-26 17:26:40 -07:00
Linux Build Service Account
57292f4075 Merge "drm/edid: Have drm_edid.h include hdmi.h" 2019-07-26 16:21:44 -07:00
Linux Build Service Account
d59732136d Merge "usb: ccid: Fix possible scenario of double unlock" 2019-07-26 16:21:43 -07:00
Linux Build Service Account
8982443075 Merge "defconfig: Enable OverlayFS for SDM660 and MSM8998" 2019-07-26 16:21:42 -07:00
Ville Syrjälä
5a248c6ff9 drm/edid: Have drm_edid.h include hdmi.h
drm_edid.h depends on hdmi.h on account of enum hdmi_picture_aspect,
so let's just include hdmi.h and drop some useless struct declarations.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170111125725.8086-2-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Eric Anholt <eric@anholt.net>
Git-commit: 00147934598478f7fbd0a4ce5380f2fecad542b5
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I9f51968fd442fea75960fdeed752904ba8b8ba05
Signed-off-by: Tanmay Shah <tanmay@codeaurora.org>
2019-07-26 10:42:50 -07:00
Rajesh Kemisetti
44e856fc49 msm: kgsl: Fix race condition between drawobj and context destroy
drawobj_destroy_sync() tries to cancel all pending sync events
by taking local copy of pending list. In case of sync point timestamp
event, it goes ahead and accesses context's events list assuming that
event's context would be alive.

But at the same time, if the other context, which is of interest for
these sync point events, can be destroyed by cancelling all
events in its group.

This leads to use-after-free in drawobj_destroy_sync() path.

Fix is to give the responsibility of putting the context's ref count
to the thread which clears the pending mask.

Change-Id: I8d08ef6ddb38ca917f75088071c04727bced11d2
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
2019-07-26 13:04:04 +05:30
Swetha Chikkaboraiah
e80e551394 defconfig: Enable OverlayFS for SDM660 and MSM8998
OverlayFS is needed to be enabled to align with the
latest android base config. Enable it for SDM660 and
MSM8998.

Change-Id: I9856b55bbda74fdd7f03644d5aad1464549a053f
Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
2019-07-25 22:21:10 -07:00
Linux Build Service Account
4ffca21967 Merge "msm: vidc: Add checks to avoid OOB access" 2019-07-25 14:55:31 -07:00
Linux Build Service Account
5744bfc669 Merge "drm: probe_helper: Hide ugly ifdef" 2019-07-25 14:55:29 -07:00
Linux Build Service Account
bef923715e Merge "drm: Allow override_edid to override the firmware EDID" 2019-07-24 22:36:05 -07:00
raghavendra ambadas
9ddd05897c drm/msm/dsi-staging: Add length check before copying to user space
Add a check to make sure that the length of bytes copied to the
destination buffer doesn't exceed the requested buffer count
before calling the copy_to_user to avoid buffer overflow.

Change-Id: Ice834a9e024b09f3b6041399ff55dec00e75b9ef
Signed-off-by: Raghavendra Ambadas <rambad@codeaurora.org>
2019-07-25 10:10:08 +05:30
Manikanta Kanamarlapudi
47bbc72c2f msm: vidc: Add checks to avoid OOB access
validate structures and payload sizes in the
packet against packet size to avoid OOB access.

Change-Id: Id44e5c6be4dde3e6545d453f5edd3219776a4e58
Signed-off-by: Manikanta Kanamarlapudi <kmanikan@codeaurora.org>
Signed-off-by: Sanjay Singh <sisanj@codeaurora.org>
2019-07-25 09:13:43 +05:30
Linux Build Service Account
9401ae0856 Merge "msm: camera_v2: isp: handle frame drop in error case" 2019-07-24 13:31:10 -07:00
Ezequiel Garcia
7887be217f drm: probe_helper: Hide ugly ifdef
Push the ifdef to the drm_edid.h and create a stub, for the
DRM_LOAD_EDID_FIRMWARE=n case. This removes some clutter in
the code, making it more readable.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1461087638-16959-1-git-send-email-ezequiel@vanguardiasur.com.ar
Git-commit: ba34d58c5e86c27accb3133fa991cfb6c848c58e
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: Ice586a7d90538d77a3f120bb9ba6214e17b926d0
Signed-off-by: Tanmay Shah <tanmay@codeaurora.org>
2019-07-24 12:27:25 -07:00