HDCP 1.x protocol fetches data called R0' from sink as
part of authentication protocol. When this data is available,
sink issues CP_IRQ following which source can fetch this
data from sink. In case CP_IRQ is not received on time, do not
fail the authentication as R0' may still be available and
valid. Fetch R0' and check if it is valid before failing
the authentication to avoid false hdcp authentication failures.
Also, enable hpd irq in case downstream is a repeater so that
it can report any link failure.
Change-Id: I28fa1a06f5acf0b6fbe988db5d95a4c1a781a9f9
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
In host mode upon XO shutdown high speed and full speed device
connection is not getting detected because mpm is not configured
to monitor for Dp line state change.
Change-Id: I34e3f586b99b6ff1af1d2323d4f272ee3cca7fa2
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
This is an ancient bug that was actually attempted to be fixed once
(badly) by me eleven years ago in commit 4ceb5db975 ("Fix
get_user_pages() race for write access") but that was then undone due to
problems on s390 by commit f33ea7f404 ("fix get_user_pages bug").
In the meantime, the s390 situation has long been fixed, and we can now
fix it by checking the pte_dirty() bit properly (and do it better). The
s390 dirty bit was implemented in abf09bed3c ("s390/mm: implement
software dirty bits") which made it into v3.9. Earlier kernels will
have to look at the page state itself.
Also, the VM has become more scalable, and what used a purely
theoretical race back then has become easier to trigger.
To fix it, we introduce a new internal FOLL_COW flag to mark the "yes,
we already did a COW" rather than play racy games with FOLL_WRITE that
is very fundamental, and then use the pte dirty flag to validate that
the FOLL_COW flag is still valid.
Change-Id: I42e448ecacad4781b460c4c989026307169ba1b5
Reported-and-tested-by: Phil "not Paul" Oester <kernel@linuxace.com>
Acked-by: Hugh Dickins <hughd@google.com>
Reviewed-by: Michal Hocko <mhocko@suse.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Willy Tarreau <w@1wt.eu>
Cc: Nick Piggin <npiggin@gmail.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-repo: https://chromium.googlesource.com/chromiumos/third_party/kernel.git
Git-commit: 19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
Return IRQ_HANDLED only if the irq is really handled, this will
help in catching spurious interrupts that go unhandled.
Change-Id: Icc2a373f3f4599887c4f86632107ed11e0525153
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
Change info logs to dbg at instances of default value
assignment to ensure cleaner bootup process.
CRs-fixed: 1099759
Change-Id: Ib8fc3ed96e4704e71d9224a067fd8d9e88373cf0
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add missing path for codec interpolator 0 (INT0)
in wcd934x audio routing. This will cause playback
mute through INT0 mixing path. Change info logs to
dbg at instances of default value assignment.
CRs-fixed: 1099759
Change-Id: I3332d7e3bd0b310b486d273b7f9884410509ce25
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Disable VDD_APC0 and VDD_APC1 CPR aging measurement and
adjustments for all local CPR fusing revisions. It is unknown
which future revision will have the initial aging sensor
difference fuse blown. Software must not attempt to perform an
aging measurement unless this fuse is blown. Therefore, disable
aging measurements on all future revisions.
Modify the open-loop and closed-loop voltage adjustments
accordingly so that the maximum 15 mV aging margin is present
for all CPR revisions.
Change-Id: I4546a7994fc0442bf82d36ca0a404a57be8c7dd3
CRs-Fixed: 1097587
Signed-off-by: David Collins <collinsd@codeaurora.org>
Currently GEN3 FG driver reads "qcom,nom-batt-capacity-mah"
property from the battery profile device node to use that for
notifying fastcharge current to the charger driver. Change that
to use "qcom,fastchg-current-ma" property which seems to be more
appropriate. Update all the battery profiles that are used with
GEN3 FG to follow that.
Change-Id: I119e6af297b37a06a227475f712f938367fb65bc
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
To match with other battery profiles used for GEN3 fuel gauge,
rename the battery profile used for msm8998 QRD platform.
Change-Id: I9a12ac11b6bd303eb32b4e03e116281bca664d06
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
As multiple requests are submitted to the ufs host controller in
parallel there could be instances where the command completion
interrupt arrives later for a request that is already processed
earlier as the corresponding doorbell was cleared when handling
the previous interrupt. Read the interrupt status in a loop after
processing the received interrupt to catch such interrupts and
handle it.
Change-Id: I91c1ba3360592f258a2c3c4e902394c3ddc77bca
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
migrate_tasks() migrates all tasks of a CPU by using pick_next_task().
This works in the hotplug case as we force migrate every single task
allowing pick_next_task() to return a new task on every loop iteration.
In the case of isolation, however, task migration is not guaranteed
which causes pick_next_task() to keep returning the same task over and
over again until we terminate the loop without having migrated all the
tasks that were supposed to migrated.
Fix the above problem by temporarily dequeuing tasks that are pinned
and marking them with TASK_ON_RQ_MIGRATING. This not only allows
pick_next_task() to properly walk the runqueue but also prevents any
migrations or changes in affinity for the dequeued tasks. Once we are
done with migrating all possible tasks, we re-enqueue all the dequeued
tasks.
While at it, ensure consistent ordering between task de-activation and
setting the TASK_ON_RQ_MIGRATING flag across all scheduling classes.
Change-Id: Id06151a8e34edab49ac76b4bffd50c132f0b792f
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Disable WLED current staggering in pmi8998 and pm2falcon to fix
audible WLED issue of sound generation when WLED is turned on in
hybrid mode.
CRs-Fixed: 1099709
Change-Id: Id0d3385cf3f29379e2df4f2c1657c4b661548721
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
There is a race condition between clearing an HMP request for active
migration and the actual active migration. Active migration can he
half-way through doing the migration when the HMP request can be cleared
by another core. Move clearing of HMP request to the stopper thread to
avoid this.
Change-Id: I6d73b8f246ae3754ab60984af198333fd284ae16
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>