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

[LA.UM.7.1.r1] Merge tag 'LA.UM.7.1.r1-16600-sm8150.0' #2327

Open
wants to merge 87 commits into
base: aosp/LA.UM.7.1.r1
Choose a base branch
from

Conversation

tomgus1
Copy link

@tomgus1 tomgus1 commented Jul 29, 2020

No description provided.

Sahil Chandna and others added 30 commits July 7, 2019 23:48
…rithm

For voltage based step charging, used in TTF algorithm, improve the code
readability by changing ttf_mode from TTF_MODE_V_STEP_CHG to
TTF_MODE_VBAT_STEP_CHG.

Change-Id: Ia3b7dd0f2fc1b354c5afaa745c1117719fb9df66
Signed-off-by: Sahil Chandna <chandna@codeaurora.org>
To get the information on irq status with default logs
added the irq status prints to CAM_ERR_RATE_LIMIT.

Change-Id: Ibe6a57e2905aeaa9d8c38cf08ad4d700468f341f
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
There is a race condition where connector state mode info is updated
in sde_encoder_virt_mode_set in crtc_commit thread and mode info
getting copied to new connector state in connector_atomic_duplicate_state
in hwbinder thread. This is causing new connector state to be in
invalid state leading to wrong dsc config and further leading
to ping pong timeouts.
Removed connector state mode info update in crtc_commit thread as
connector state mode info is updated in mode_fixup and does not need
updation in sde_encoder_virt_mode_set in crtc_commit thread.

Change-Id: Idb05948f7ad0a6af9846a7e1e90c7f934a072815
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
If umd issues flush all, isp driver need to make sure that wait and
active list requests also flushed and corresponding buffer fences
needed to returned.

For active and wait list flush, ife hardware need to stop at frame
boundary and release the fences. Ife hardware need to reset to make
sure that vfe bus write master fifos are cleared. Start the ife
hardware after reset and set the isp context state to sof.

Change-Id: Ibc57e64fbcef07de13520f2b9e4cc37c7c62bb37
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
…4.14.c2-display

* commit '40c77ca69b266c88ebbfdfdf806ed3033f40840e':
  cpufreq: schedutil: Fix for limits update with fast switch enabled
  cpufreq: schedutil: Add fast switch to sugov_limits path
  soc: qcom: wda: Disable powersave work on deinitialization
  msm: kgsl: Change data type for GPU ib vote
  disp: msm: sde: add SSPP CP features to dirty list during IPC
  msm: ipa3: Fix to recycle buffers
  diag: Prevent using uninitialized mdlog session mask
  msm: kgsl: Ignore rgmu disable GDSC error
  power: smb5-lib: Report liquid presence status
  msm: kgsl: Add missing check for snapshot IB dump
  msm: kgsl: Snapshot all GMU memory blocks
  msm: kgsl: Snapshot GMU TCM registers separetely
  net: qrtr: mhi: Register for early notifications
  msm: kgsl: Fix drawqueue timer race condition
  msm: kgsl: Ensure GMU memory regions don't leak memory
  msm: kgsl: Update GMU snapshot section IDs
  ARM: dts: msm: Update GPU snapshot size
  msm: kgsl: Omit referencing pointers in traces
  arm64/iommu: handle atomic pool addresses in ->get_sgtable and ->mmap
  arm64/iommu: handle non-remapped addresses in ->mmap and ->get_sgtable
  ARM: dts: msm: register IPCR for early MHI notification
  mhi: cntrl: qcom: register for early error fatal notification
  mhi: core: add support for early error notifications
  diag: Update diag get log request structure
  msm: kgsl: Change throttling counter weight from 15% to 5%
  NFC: Fix device node probing issue
  mhi: core: add missing macro for MHI device vote
  msm: kgsl: show max gpu temperature
  soc: qcom: qmi_interface: Remove ineffective mutex lock from txn struct
  soc: qcom: qmi_interface: use qmi txn_lock to avoid use after free of txn
  sched/fair: Prevent tick path active migration to the same CPU
  msm: camera: isp: Halt device with the command parsed
  msm: vidc: add check to avoid out-of-buffer write
  usb: f_gsi: Don't enable IPA data path if connect channel fails
  mhi: core: expand MHI vote api to take optional parameter
  sched: fair: Add strict skip buddy support
  sched/fair: Allow load bigger task load balance when nr_running is 2
  msm: vidc: add additional check to avoid out of bound access
  USB: configfs: Send DISCONNECT uevent during UDC bind
  usb: dwc3-msm: Program MSB of doorbell register when using dummy_addr
  msm: ipa3: Drop WAN TX packets when pipe is down in ssr
  usb: dwc3-msm: Use dummy buffer as doorbell until GSI is ready
  ARM: msm: dts: modify rotator line width for sm8150
  Revert "drm/msm/sde: fix crtc enable check"
  ARM: dts: msm: add thermal zone names to sm8150
  msm: adsprpc: Fix integer overflow in refcount of map
  msm: kgsl: Ensure _free_pt() gets called on error case
  diag: dci: Correct out of bounds check in processing dci pkt rsp
  usb: dwc3: Flush bh work before disabling dwc3_irq
  power: step-chg-jeita: update jeita/step ranges to support signed threshold
  slim-msm-ngd: Create a IPC error logging file
  soc: qcom: dfc: Purge packets on flow delete
  Revert "diag: Clear memory device entries during mhi disconnect"
  ARM: dts: msm: Add GPU coresight properties for SM8150
  drm/msm/sde: fix crtc enable check
  usb: misc: nb7vpq904m: fix possible array overflow
  msm: ipa3: Handle missing cleanup in IMP_READY state on shutdown
  msm: npu: update performance mode during load network
  msm: npu: Allow user app to retrieve NPU version via get_property
  fbdev: msm: check the length of the external input buffer properly
  msm: kgsl: Ensure that thermal power level restrictions are enforced
  net: qrtr: Use skb with fragments in memory failure case
  media: uvcvideo: Fix 'type' check leading to overflow
  power: qpnp-qg: Add range checks to FIFO length
  msm: kgsl: Don't attempt the LLM/GLM handshake for a640 targets
  power: qpnp-smb5: Do not use ibatt based termination for QG PMICs
  msm: camera: sensor: Increase the eeprom map buffer count
  msm: vidc: refine clock calculation for both encoder and decoder
  msm: vidc: consider pipeline overhead factor for clock calculation
  msm: camera: reqmgr: Reset previous skipped slot if valid request
  drm/msm/sde: update mixercount check in writeback usecase
  msm: camera: crm: Increasing the device handles to 128
  f2fs: fix to avoid deadlock in f2fs_read_inline_dir()
  msm: kgsl: Correct snapshot over-write policy
  msm: camera: Adding device type to track device handles
  msm: camera: isp: Add support for initial frame drop
  esoc: Add mdm error-fatal notifier hook
  ARM: dts: msm: Increasing shared mem region size for SM6150 and sdmmagpie
  msm: camera: icp: Prevent out of bound access in acquire
  msm: camera: mem: Mutex before cpu_begin_access & cpu_end_access
  msm: camera: cpas: Check the HW state before accessing register
  msm: camera: cci: Add rd_done to handle read done operation
  msm: camera: crm: Increase the device handles to 128
  ARM: dts: msm: Increase camnoc bw margin for sdmmagpie
  msm: camera: fd: Remove duplicate "qcom,fd501" property
  msm: camera: reqmgr: Fix CRM shift one req issue
  msm: camera: icp: Mapping fw error numbers with error names
  msm: camera: isp: Prevent out of bounds read
  msm: camera: csiphy: correct DPHY bring up sequence
  msm: camera: Fix cpas axi clk rate overflow
  msm: kgsl: Correctly identify page faulting process
  msm: camera: reqmgr: Skip reset if no request from UMD

Change-Id: I7fb1713ebe3d786c7134db39033860114baa3df9
Signed-off-by: Abhijith Desai <desaia@codeaurora.org>
Enabling format measure helps to find mismatch between
the expected sensor width and height with actual sensor width
and height.
In case of mismatch CSID will give CSID_PATH_ERROR_PIX_COUNT
and CSID_PATH_ERROR_LINE_COUNT.

Change-Id: I11aefe7d073ec47810564442109981d0e46f9844
Signed-off-by: Rishabh Jain <risjai@codeaurora.org>
Add fps blob to get the fps value from user space. Epoch interrupt
configuration will be depend on the fps value. Configure epoch
interrupt to half of the frame if fps value is 60, in rest all cases
configure epoch interrupt to 2/3 of the frame.

Change-Id: I2544a5e18895a983155c2f01e49920c9e1ec59b9
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
Dynamic FPS to Detect IRQ delay.

If the irq is delayed, the frame drop is reported. This commit
helps to recover from the frame drop.
We a added a new blob  command to report fps from UMD to KMD. This patch
Use this fps to calculate If there is a IRQ delay or not. If yes then It
sets a flag 'irq_delay_detected'.

Change-Id: I3cbcd9275d705f8c2458c7860780fbab615fabc4
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
Add extra information in the logs during acquire failure.
This will ease during debug process by providing enough
information from the logs.

Change-Id: I0a8789e80ff4477a5596ea0e9c3374ddab085d60
Signed-off-by: Ayush Kumar <ayushkr@codeaurora.org>
Assign right structures  based on csiphy
version for atoll.

Change-Id: I7dbc2278bbd60a149d3fcc44fa2251419d4511f4
Signed-off-by: Shankar Ravi <rshankar@codeaurora.org>
Presently hdlc mode is not getting updated for a peripheral after
multimode mdlog exit. Update the peripheral's hdlc mode while
closing the mdlog session.

Change-Id: I255db98b592648df00e779027232a55c4585de6a
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
Camera CAMNOC, ICP, IPE, BPS, CDM, SMMU, JPEG, IFE, PPI nodes
are added for chipsets having v150_110 camera.

Change-Id: Iea631ba2f7a48fa1a144769097acdc865cfbbbdc
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
…rdown

db_timer expires after wq has been flushed in ipa3_teardown_sys_pipe.
This causes the wq to be scheduled after pipe teardown.

Add workqueue_flushed flag which set after the wq is flushed during
teardown. This flag is checked against in the wq function to ensure
it is not executed once the wq has been flushed.

Change-Id: I176a3a6dbf25985a41decf008ad045647081b871
Acked-by: Priyadarshini Rajagopal <prajagop@qti.qualcomm.com>
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
PPI is a bridge between CSIPHY and CSID. Responsibilty of this driver is to
enable and configure PPI bridge from CSID as per the configuration.

Change-Id: I3e2a12043088335f62a54670167306d6084c7221
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
Ensure that the V-NOC module is reset for
1 All types of system error from firmware.
2 Specific video hardware version.

Change-Id: I534cdefd11ebb9217081c2c840f332f7ed7c450d
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
…4.14.c2

* quic/dev/msm-4.14.c2-display:
  drm/msm/sde: avoid connector state mode update in commit thread

Change-Id: Ic413e8d9eaadbe30e160bfd4348f60fe4410ba39
Signed-off-by: Abhijith Desai <desaia@codeaurora.org>
Currently driver is setting the user override speed to
maximum speed by checking if override speed is less than
the maximum speed. But this check will fail if the maximum
speed supported by the controller is super-speed and user
is trying to set it to super-speed from a lower speed. Fix
this by checking if override speed is equal to or less than
maximum speed.

Change-Id: Id71cf163548e213ec0180d7f3107395feed2f483
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
PPI clock sources are added for chipsets having v150_110 camera.

Change-Id: Ibab7f009fce45ea309f13501efb2f16fafb87ed6
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
Plane count maybe passed to sort function as argument without
being checked against NULL value in crtc atomic check and blend
setup mixer. Add check to use plane count as argument only
when it has a valid value.

Change-Id: Ibddd9a630fd5afe55c861975d5fce6985daf1401
Signed-off-by: Shubhashree Dhar <dhar@codeaurora.org>
During pm suspend-resume cases, topology is reset and ppsplit
flag is set to false based on previous connector state. This
leads to incorrect interface config resulting in pptimeout.
Made changes to update the ppsplit flag based on current
connector state to avoid this.

Change-Id: Id42313036eda98e5109083b0d57a778f1262f3fd
Signed-off-by: Shubhashree Dhar <dhar@codeaurora.org>
Add the necessary checks to skip the invalid operation
of driver remove during the recovery.

Change-Id: I12d755b3b19eb4b8a7cc09e3893d778d88201cae
Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
XNUBIA and others added 14 commits August 27, 2019 02:16
Some of user space daemon like ADB queries endpoint descriptor using
ioctl to know wMaxPacketSize value. Based on wMaxPacketSize value it
queues additional buffer to read zero length packet if expected read
buffer size is multiple of wMaxPacketSize. Currently driver is missing
handling for super speed plus case which results into sending full
speed related USB endpoint descriptor (i.e. wMaxPacketSize 64 bytes).
Hence when adbd is expecting 64 bytes packet from host, it queues one
more additional buffer. This results into mismatch of ADB command and
response when multiple ADB commands are used and causing different ADB
related stability issues. Fix this issue adding super speed plus check
with FUNCTIONFS_ENDPOINT_DESC ioctl command.

Change-Id: I9416295c07c2d98f9d32df43d7e506f975da15a2
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
dpdm_regulator_enable() function turn on the CXO clk to program the phy
registers to put PHY in non-driving mode for charger detection. In charger
connected case phy driver voting for CXO clock in dpdm_regulator_enable
but does not disabling it which is preventing the system from
vdd minimization. Hence fix this issue by turning off the CXO clk
from dpdm_regulator_enable.

Change-Id: Ib3a04eedcef625443077199d5920884f114db82d
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Update SD card removal event processing logic. Instead of pinging
the card to know the card presence rely on card-detect gpio state.

On multi-card tray designs, the same card-tray would be used for SD
card and SIM cards. If SD card is placed at the rightmost location
in the tray, then SIM card may come in contact with SD card power-
supply while removing the tray. It may result in SIM damage.

For protecting SIM from this issue, in multi-card tray designs,
a h/w fix done such that pmic gets a notification of SD card
removal event (through hardwiring) and it turns off the SD card
voltage regulators immediately. All this will be done much before SD
card driver starts processing card removal event.

To support this design, SD card driver shouldn't turn-on the
regulator while processing card removal event. But the present mmc
driver turns-on regulator (multiple times if the card was in suspend
state). To avoid turning on SD card regulator in card removal path,
updating the card removal processing logic is based on card detect
gpio state.

Change-Id: I13708a60c9378519713ebec8071ae3b130012a93
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
This reverts commit 9de18ca.
Reverting this change as this is introducing race condition with
sdcard plug out scenario and leading to device crash.
	1. Deferred resume kicks in
	2. SDCard is plugged out
	3. Deferred resume failed
	4. SDCard detection scheduled as resume fails
	5. Device crashing

Change-Id: I6fd81d6c21be4a0e3139246c9d66959010fd240c
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
If resume fails, there is no way to handle it now.
Also there's no attempt to recover from it.
This leads to lot of warnings while issuing requests.

Check for resume errors & reset the stack on error as
an attempt to recover from it.

Change-Id: Ie4d6d2a34c2c7a8154696e93d85e50d60410e0c2
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
Sometimes when the card is removed and a request
is in queue the resume fails. But there's no way
to inform the in-flight request that the card is
removed since the resume itself fails and rescan
is waiting for claim_host which was acquired by
the in-flight request.

This request percolates to platform driver which
sees that the pre-requisites to issue the request
are not met i.e. the clocks are OFF.
So it tries to dump the registers and results in a
NoC error.

Set the card removed when resume fails to avoid this
problem.

CRs-fixed: 2430862
Change-Id: I171ad435ec11c1212e6528592b8db43cd0171b11
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
* commit '1d886afeed0208860d2f6f01c677306f06a65a9b':
  msm: camera: LDAR Debug info dump framework implementation

Change-Id: If8be42d36cc3bbf2e82b79bd0a1c6f4517f32e1b
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
Change-Id: Id639749c1f877e72564aa59b1b3106ade2ec2407
Change-Id: I3aaf70567cf782280a876ee0e549a7cc08c5bf9b
@pablomh
Copy link

pablomh commented Jul 29, 2020

Hi @tomgus1, should this one be applied on top of the other?

@tomgus1
Copy link
Author

tomgus1 commented Jul 29, 2020

@pablomh this can be applied without the other but added for continuity and easier tracking.

@stefanhh0
Copy link

Testing this one on yoshino/lilac. Until now no new regressions found everything seems to be fine.

Already tested:

  • Booting the phone
  • Using Front and Rear camera
  • Playing ogg music files

In case I spot something unusual I will report back, running this one together with Kernel 4.14.190 PR

@kholk
Copy link
Contributor

kholk commented Jul 30, 2020

Tim, I've been thinking about this one a lil more... Can you remove and PR separately all the camera related commits?
Also please remove the "useless" merge commits (let's not start a discussion about this, they're useless but they're not).

After applying the requested changes, we should then merge the rest.

@stefanhh0
Copy link

stefanhh0 commented Jul 31, 2020

Very good idea indeed Angelo, 42 of the 87 commits are merge commits. Removing them, makes the PR a lot more easier to deal with and removes the noise from the content.

@tomgus1 if you don't have enough time sorting commits I could help you with that.

In general I'd love to see that we are making progress adapting also the other missing fixes from CAF that are contained in https://source.codeaurora.org/quic/la/kernel/msm-4.14/tag/?h=LA.UM.7.1.r1-17400-sm8150.0. My hope would be, that there are more fixes that stabilize/improve the kernel for our phones. The 17400 tag is as well already 8 month old and maybe it contains fixes for the 10 month old tag: 16600?! I wonder if it wouldn't be more time efficient when we try to test all non camera related fixes until 17400 in one go and afterwards testing the camera related stuff in the from Angelo suggested separate PR. It would be very unfortunate to stumble upon problems in 16600 that have been already fixed in 17400. Do they have a consolidated changelog like e.g. kernel.org? I haven't found one.

@MarijnS95
Copy link
Contributor

MarijnS95 commented Jul 31, 2020

Sorting out the merges should be relatively easy as rebase automatically drops them (assuming no merge conflict resolution is the merge commits 🙈).

The only reason to "keep" this history is to share the tree with CAF. Meaning all the commits retain their identical hash with CAF rather than appearing cherry-picked, and new(er) tags on the same branch will be properly based on top of that, instead of appearing as a totally different diverging branch. In addition git might not always be able to understand what commits have been applied (especially if things are applied and reverted multiple times), but that's relatively easy to solve with git rebase --onto aosp/LA.UM.7.1.r1 last-merged-tag-like-16600 new-tag-to-merge-like-17400 to pick only new stuff (or cherry-picking a range...).

Though, I guess this all sums up to Angelo's:

let's not start a discussion about this, they're useless but they're not

😁

@stefanhh0 all development now happens on 8.1 tags for "Android 10" which is why 7.1 tags for "Android 9" haven't been added anymore.

Copy link

@stefanhh0 stefanhh0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

x

@kholk
Copy link
Contributor

kholk commented Aug 1, 2020

So basically we already have at least 75% of this PR in... :p

@stefanhh0
Copy link

Yes, I will go through and prepare a separate PR that collects the very few commits that are missing.

@MarijnS95
Copy link
Contributor

@stefanhh0 that's a lot of manual labour here! Are you checking whether commits are potentially reverted and re-applied again or is this something that a rebase with conflicts (utilizing patch-id under the hood to omit previously applied commits, even if they are reverted later) could have solved?

@stefanhh0
Copy link

Well, I wanted to understand what exactly is missing and what can be omitted. I have finished the work already and I will send the PR as soon as I have build it and it and see it running on my phone. Only 16 commits were missing.

@MarijnS95
Copy link
Contributor

Fair point to be made, rebasing and blindly skipping every commit that conflicts yields me 13 commits. So it's good to have all these checked in the end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants