Commit graph

890,529 commits

Author SHA1 Message Date
Charan Teja Reddy
aa3fa08df4 mem-offline: improve the effective utilization of movable zone
When a memory block in a movable zone is onlined, only newly allocated
or swap in anon pages will fill it. This means that the migrated pages
from these memory blocks during offlining will sit in the lower zones
despite enough free space in the movable zone thus leaving pressure in
the lower zones. This pressure can effect the performance for the
allocations which can only be satisfied from lower zones.
This is avoided by filling in eligible pages from normal zone to movable
zone thus results in effective utilization of movable zone and also free
up memory in the lower zones.

Change-Id: I3404b9078e942c98f497cb462bc24fc53fb075ba
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
2020-09-04 06:15:14 -07:00
qctecmdr
4b9bef81d3 Merge "msm: kgsl: Capture gpu globals in hwsched snapshot" 2020-09-03 22:49:08 -07:00
qctecmdr
ceeea50cd7 Merge "backlight: qcom-spmi-wled: Add support for QCOM SPMI WLED driver" 2020-09-03 19:54:58 -07:00
qctecmdr
a443a3ed31 Merge "cnss2: Increase prealloc table to satisfy latest driver requirement" 2020-09-03 19:54:58 -07:00
qctecmdr
018aa3da63 Merge "cnss2: Add changes to handle MHI power up failure properly" 2020-09-03 19:54:57 -07:00
qctecmdr
4396f438b3 Merge "clk: qcom: gcc-lahaina: Keep gcc_ddrss_gpu_axi_clk always on" 2020-09-03 19:54:56 -07:00
qctecmdr
13bc62c871 Merge "usb: typec: ucsi: check partner changed flag during notification" 2020-09-03 19:54:56 -07:00
qctecmdr
6ce9988563 Merge "defconfig: lahaina: Fix INTERCONNECT_TEST being disabled for QGKI" 2020-09-03 19:54:56 -07:00
qctecmdr
e929ec2669 Merge "soc: qcom: watchdog: Add MODULE_LICENSE and MODULE_DESCRIPTION" 2020-09-03 19:54:55 -07:00
qctecmdr
7751c1edbd Merge "msm: kgsl: Dispatch submissions using hwscheduling" 2020-09-03 19:54:55 -07:00
Yue Ma
447a2a819f cnss2: Increase prealloc table to satisfy latest driver requirement
WLAN host driver has new memory requirement in order to be loaded and
brought up interface. Increase prealloc table accordingly.

Change-Id: I44a394dd2c9e9636ec226ccb45fbf8ac6f30ddf3
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2020-09-03 12:29:36 -07:00
qctecmdr
1d86c274d4 Merge "Merge android11-5.4.61+ (0d36496) into msm-5.4" 2020-09-03 10:45:43 -07:00
qctecmdr
05767a3609 Merge "arm64: defconfig: Enable CONFIG_QCOM_QFPROM_SYSFS on Holi" 2020-09-03 10:45:42 -07:00
Raghavendra Rao Ananta
c8a06f119c soc: qcom: watchdog: Add MODULE_LICENSE and MODULE_DESCRIPTION
MODULE_LICENSE is necessary for the module to be successfully loaded,
else the kernel would complain with "Unknown symbol (-2)" error
as the symbols would be of GPL v2 license. Hence, add the appropriate
license. Also, add MODULE_DESCRIPTION along with it.

Change-Id: I4b16de07a97ec604190c5806ecb35f074fcbe2c9
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2020-09-03 10:29:27 -07:00
Kiran Gunda
a7a22658bc backlight: qcom-spmi-wled: Add support for QCOM SPMI WLED driver
qcom-spmi-wled driver adds support for controlling backlight for
LCD panels that uses QTI PMICs like pmi8998, PM8150L and PM6150L.

This snapshot is taken as of msm-4.19
commit b82b280d402 ("arm64: defconfig: Enable dm-snapshot").

Change-Id: I3eafddc1a2ce064552415516b168f452d0b3c638
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2020-09-03 02:36:36 -07:00
Mike Tipton
7fc69929a6 clk: qcom: gcc-lahaina: Keep gcc_ddrss_gpu_axi_clk always on
Keep gcc_ddrss_gpu_axi_clk enabled all the time as a workaround to
prevent CPU hangs when DVM is enabled.

Change-Id: Ib66899de60d53ce1b9e0c2a40a08f65d4512e453
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2020-09-02 21:51:07 -07:00
qctecmdr
1f75b3f8df Merge "msm: adsprpc: remove error log in case of rpmsg_send failures" 2020-09-02 19:51:40 -07:00
qctecmdr
af9e463028 Merge "input: qcom-hv-haptics: add LRA impedance detection support" 2020-09-02 19:51:39 -07:00
Linyu Yuan
1bed1828a2 usb: typec: ucsi: check partner changed flag during notification
Certain Type-C USB adapters (which doesn't support PD),
when connected switch the USB port type from USB3 to USB2.
This is because the clients of UCSI receive a notification
when the response for GET_CONNECTOR_STATUS has empty partner type.

Example UCSI IPC log:
213.212929:   sync_write: CONTROL: 12 00 01 00 00 00 00 00
213.216613:   read: CCI: 02 09 00 80
213.221135:   read: MSG_IN: 00 00 0d 00 00 00 00 00 00

Parsing the logs gives the following information:
Connect Status: connected
Power Operation Mode: USB Type-C Current - 3A
Power Direction: consumer
Connector Partner Type: Reserved

Fix this by checking whether partner changed flag is set
and not notify UCSI clients if it is not set.

Change-Id: Id8bd71c325b58f5ff45e9f69cc59776af974a885
Signed-off-by: Linyu Yuan <linyyuan@codeaurora.org>
2020-09-03 10:10:42 +08:00
Himateja Reddy
596200d467 msm: adsprpc: remove error log in case of rpmsg_send failures
Remove error log in case of rpmsg_send failures as it can flood
the kernel buffer when the remote subsystem is down.

Change-Id: I2ce8911f88c7ae520ee36913e46ec8f7bada96a7
Acked-by: Thyagarajan Venkatanarayanan <venkatan@qti.qualcomm.com>
Signed-off-by: Himateja Reddy <hmreddy@codeaurora.org>
2020-09-02 17:24:58 -07:00
qctecmdr
1539f9e8c7 Merge "msm: adsprpc: block untrusted apps from creating multiple sessions" 2020-09-02 17:08:20 -07:00
qctecmdr
2cf6d6b0e3 Merge "qcom: scm: Milestone call to enable kernel memory protection" 2020-09-02 17:08:20 -07:00
qctecmdr
f5f1839406 Merge "spmi: spmi-pmic-arb-debug: replace ioremap_resource with ioremap" 2020-09-02 17:08:19 -07:00
Blagovest Kolenichev
16b590052d Merge android11-5.4.61+ (0d36496) into msm-5.4
* refs/heads/tmp-0d36496:
  BACKPORT: FROMLIST: firmware_loader: fix memory leak for paged buffer
  BACKPORT: cfg80211: Adjust 6 GHz frequency to channel conversion
  ANDROID: db845c_gki.fragment: Remove CONFIG_USB_NET_AX88*
  ANDROID: GKI: enable CONFIG_MTK_TIMER
  ANDROID: ABI: Update ABI description after symbol list updates
  ANDROID: ABI: Added symbols for allwinner
  ANDROID: ABI: Update allowed list for QCOM
  UPSTREAM: scsi: ufs: ufs-mediatek: Modify the minimum RX/TX lane count to 2
  UPSTREAM: scsi: ufs: Fix possible infinite loop in ufshcd_hold
  UPSTREAM: scsi: ufs-mediatek: Fix incorrect time to wait link status
  UPSTREAM: scsi: ufs-mediatek: Apply DELAY_AFTER_LPM quirk to Micron devices
  UPSTREAM: scsi: ufs: Introduce device quirk "DELAY_AFTER_LPM"
  UPSTREAM: scsi: ufs-mediatek: Prevent LPM operation on undeclared VCC
  BACKPORT: scsi: ufs-mediatek: Add inline encryption support
  ANDROID: Update ABI
  ANDROID: net: enable wireless core features with GKI_LEGACY_WEXT_ALLCONFIG
  Revert "binder: Prevent context manager from incrementing ref 0"
  FROMLIST: ufs: skip manual flush for write booster
  ANDROID: ion: export some ion symbols
  ANDROID: gki_defconfig: enable CONFIG_ARCH_SUNXI.
  FROMLIST: clk: sunxi-ng: add support for the Allwinner A100 CCU
  FROMLIST: pinctrl: sunxi: add support for the Allwinner A100 pin controller
  ANDROID: vendor_hooks: Add new android vendor hooks for ipi stop
  ANDROID: Incremental fs: fix magic compatibility again
  Linux 5.4.61
  KVM: arm64: Only reschedule if MMU_NOTIFIER_RANGE_BLOCKABLE is not set
  KVM: Pass MMU notifier range flags to kvm_unmap_hva_range()
  xen: don't reschedule in preemption off sections
  mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
  do_epoll_ctl(): clean the failure exits up a bit
  epoll: Keep a reference on files added to the check list
  efi: add missed destroy_workqueue when efisubsys_init fails
  powerpc/pseries: Do not initiate shutdown when system is running on UPS
  net: dsa: b53: check for timeout
  hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit()
  net: gemini: Fix missing free_netdev() in error path of gemini_ethernet_port_probe()
  net: ena: Prevent reset after device destruction
  bonding: fix active-backup failover for current ARP slave
  ARM64: vdso32: Install vdso32 from vdso_install
  afs: Fix NULL deref in afs_dynroot_depopulate()
  RDMA/bnxt_re: Do not add user qps to flushlist
  Fix build error when CONFIG_ACPI is not set/enabled:
  efi: avoid error message when booting under Xen
  kconfig: qconf: fix signal connection to invalid slots
  kconfig: qconf: do not limit the pop-up menu to the first row
  Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe"
  kvm: x86: Toggling CR4.PKE does not load PDPTEs in PAE mode
  kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode
  vfio/type1: Add proper error unwind for vfio_iommu_replay()
  ASoC: intel: Fix memleak in sst_media_open
  ASoC: msm8916-wcd-analog: fix register Interrupt offset
  s390/ptrace: fix storage key handling
  s390/runtime_instrumentation: fix storage key handling
  bonding: fix a potential double-unregister
  can: j1939: add rxtimer for multipacket broadcast session
  can: j1939: abort multipacket broadcast session when timeout occurs
  can: j1939: cancel rxtimer on multipacket broadcast session complete
  can: j1939: fix support for multipacket broadcast message
  bonding: show saner speed for broadcast mode
  net: fec: correct the error path for regulator disable in probe
  i40e: Fix crash during removing i40e driver
  i40e: Set RX_ONLY mode for unicast promiscuous on VLAN
  can: j1939: transport: add j1939_session_skb_find_by_offset() function
  can: j1939: transport: j1939_simple_recv(): ignore local J1939 messages send not by J1939 stack
  can: j1939: fix kernel-infoleak in j1939_sk_sock2sockaddr_can()
  bpf: sock_ops sk access may stomp registers when dst_reg = src_reg
  ASoC: q6routing: add dummy register read/write function
  ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM
  spi: stm32: fixes suspend/resume management
  netfilter: nf_tables: nft_exthdr: the presence return value should be little-endian
  ext4: don't allow overlapping system zones
  ext4: fix potential negative array index in do_split()
  fs/signalfd.c: fix inconsistent return codes for signalfd4
  alpha: fix annotation of io{read,write}{16,32}be()
  xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init
  tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference
  media: camss: fix memory leaks on error handling paths in probe
  virtio_ring: Avoid loop when vq is broken in virtqueue_poll
  scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases
  cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
  swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses
  ceph: fix use-after-free for fsc->mdsc
  jffs2: fix UAF problem
  drm/ttm: fix offset in VMAs with a pg_offs in ttm_bo_vm_access
  xfs: fix inode quota reservation checks
  svcrdma: Fix another Receive buffer leak
  m68knommu: fix overwriting of bits in ColdFire V3 cache control
  MIPS: Fix unable to reserve memory for Crash kernel
  Input: psmouse - add a newline when printing 'proto' by sysfs
  media: vpss: clean up resources in init
  rtc: goldfish: Enable interrupt in set_alarm() when necessary
  media: budget-core: Improve exception handling in budget_register()
  scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM
  scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
  opp: Enable resources again if they were disabled earlier
  kthread: Do not preempt current task if it is going to call schedule()
  drm/amd/display: fix pow() crashing when given base 0
  drm/amd/display: Fix EDID parsing after resume from suspend
  drm/amdgpu/display: use GFP_ATOMIC in dcn20_validate_bandwidth_internal
  scsi: zfcp: Fix use-after-free in request timeout handlers
  jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock()
  ext4: fix checking of directory entry validity for inline directories
  RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request
  mm, page_alloc: fix core hung in free_pcppages_bulk()
  mm: include CMA pages in lowmem_reserve at boot
  uprobes: __replace_page() avoid BUG in munlock_vma_page()
  kernel/relay.c: fix memleak on destroy relay channel
  romfs: fix uninitialized memory leak in romfs_dev_read()
  spi: Prevent adding devices below an unregistering controller
  can: j1939: socket: j1939_sk_bind(): make sure ml_priv is allocated
  can: j1939: transport: j1939_session_tx_dat(): fix use-after-free read in j1939_tp_txtimer()
  ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion
  ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book
  btrfs: add wrapper for transaction abort predicate
  btrfs: return EROFS for BTRFS_FS_STATE_ERROR cases
  btrfs: don't show full path of bind mounts in subvol=
  btrfs: export helpers for subvolume name/id resolution
  bcache: avoid nr_stripes overflow in bcache_device_init()
  khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
  khugepaged: khugepaged_test_exit() check mmget_still_valid()
  perf probe: Fix memory leakage when the probe point is not found
  gfs2: Never call gfs2_block_zero_range with an open transaction
  gfs2: Improve mmap write vs. punch_hole consistency
  drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
  kbuild: support LLVM=1 to switch the default tools to Clang/LLVM
  kbuild: replace AS=clang with LLVM_IAS=1
  kbuild: remove AS variable
  kbuild: remove PYTHON2 variable
  x86/boot: kbuild: allow readelf executable to be specified
  net: wan: wanxl: use $(M68KCC) instead of $(M68KAS) for rebuilding firmware
  net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware
  Documentation/llvm: fix the name of llvm-size
  Documentation/llvm: add documentation on building w/ Clang/LLVM
  ANDROID: ABI: Added symbols for db845c and hikey960
  ANDROID: Update abi_gki_aarch64_hikey960
  ANDROID: Update abi_gki_aarch64_db845c
  ANDROID: build.config.hikey960: Set KMI_SYMBOL_LIST
  ANDROID: build.config.d845c: Set KMI_SYMBOL_LIST
  ANDROID: hikey960_gki.fragment: Remove unused CONFIG_SERIAL_8250_DW
  BACKPORT: FROMLIST: clk: Export clk_register_composite
  ANDROID: power: Export log_{suspend_abort,abnormal_wakeup}_reason
  ANDROID: ABI: add already existing __arm_smccc_smc to unisoc
  ANDROID: ion: Remove unused local variable 'vaddr'
  ANDROID: ion: remove kmap from begin[end]_cpu_access

Conflicts:
	Makefile
	android/abi_gki_aarch64_qcom

Change-Id: Ia7b012d7bd15b21f918a13f3c9da29c26f68da93
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2020-09-02 16:54:52 -07:00
qctecmdr
485aca84e0 Merge "proc/meminfo: include offlined region for mem total" 2020-09-02 14:17:55 -07:00
qctecmdr
dc906fd2e0 Merge "cnss2: Free saved default PCIe config space" 2020-09-02 14:17:55 -07:00
qctecmdr
aaf6971028 Merge "soc: qcom: eud: Update the state of extcon too during probe" 2020-09-02 14:17:54 -07:00
qctecmdr
09e6101897 Merge "arm64: defconfig: enable debugging of cpuidle governor in SVM" 2020-09-02 14:17:54 -07:00
Preeti Nagar
dc1e47c1bc qcom: scm: Milestone call to enable kernel memory protection
Invoke milestone call to QHEE as soc specific early initcall
to enable protection of kernel's memory regions in stage 2
memory mappings.

Change-Id: I3298cfebc3a5e5e64bf6a696a0a259c4059197b3
Signed-off-by: Preeti Nagar <pnagar@codeaurora.org>
2020-09-02 13:18:29 -07:00
Harshdeep Dhatt
6f79885a61 msm: kgsl: Capture gpu globals in hwsched snapshot
Capture ringbuffers, smmu info record, scratch memory and
preemption records into hw scheduling snapshot.

Change-Id: I119cc18115f3a74a6a26c976772b7d746e70900e
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:24:25 -06:00
Harshdeep Dhatt
b2f0a442ec msm: kgsl: Add a6xx_hwsched_snapshot function
Since GMU tells us the exact submission that faulted via
the context bad hfi, look up the command object corresponding
to the submission and mark it for snapshot purposes. Create the
top level gpudev snapshot function for hw scheduling which first
snapshots the faulted command object and then calls into the
generic gmu snapshot function.

Change-Id: I5c5300b7b147dfcf0c009b44376ba0c6e1f8e25b
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:24:24 -06:00
Harshdeep Dhatt
44ed382d7f msm: kgsl: Add hwsched based reset and recovery
There can be various gmu faults or a context_bad hfi alongside
an actively rendering gpu, for example, dcvs timeout, context
register or unregister timeout or a perfcounter oob timeout.
It is important to request dispatcher to perform reset and
recovery so that un-finished inflight submissions can be
re-submitted post recovery.

Change-Id: I2e66c5b24c45f1af7514044caa74abe1bf84dd0c
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:24:22 -06:00
Harshdeep Dhatt
0fc2ce7e40 msm: kgsl: Add suspend and resume for hwsched driver
Add the support for performing a driver wide suspend and resume
with hwsched driver.

Change-Id: I9bc47e714aaafd33f52ea618fdecf14cb512ea61
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:43 -06:00
Harshdeep Dhatt
26b7004ddf msm: kgsl: Fix check for oversized HFI messages
The check for HFI message size is incorrect as it is done
after the higher bits of size are masked out while creating
the HFI header. Fix the check so that we do not let oversized
messages through.

Change-Id: Ic2350da328d21f085bd41656d36c74132c5007ac
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:42 -06:00
Harshdeep Dhatt
27f4d2c02b msm: kgsl: Get rid of a6xx_hfi_send_req function
Instead, directly call a6xx_hfi_send_generic_req. Also,
get rid of a6xx_hfi_send_get_value() as it is not used.

Change-Id: Idee3af33ff0e5e03a9f974c535f8bc1c7579d492
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:42 -06:00
Harshdeep Dhatt
c7f6786eb9 msm: kgsl: Add user command profiling with hw scheduling
User mode specifies a profiling buffer as part of the ib list.
This ib is passed on to the GMU as part of the HFI packet to issue
commands. The GMU will in turn create a special user profiling IB
to have the GPU write the command start and retire ticks into the
user specified buffer. The submit to HFI time is recorded in the
user specified buffer by kgsl.

Change-Id: I800b4a23876f6f0707fb7a942e97d70a2d712aeb
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:41 -06:00
Harshdeep Dhatt
d8dec295eb msm: kgsl: Add support for kernel profiling in hw scheduler
Enable kernel command profiling by sending the HFI feature
flag to GMU. Add support for the sync event which maps GPU/GMU
ticks to ftrace time. Record the GPU ticks when command is
submitted to the HFI dispatch queue. The ticks corresponding to
submission to the ringbuffer, start, retire on GPU/GMU will be
conveyed to kgsl by GMU through the HFI retire packet.
Modify the trace events to log this information appropriately.

Change-Id: Ib6b5a7858848d8d409925015aad719322de8c12d
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:40 -06:00
Harshdeep Dhatt
e6245a54c3 msm: kgsl: Add the f2h daemon
This daemon is a bottom half handler for asynchronous packets
originating from GMU for example TS_RETIRE, CONTEXT_BAD and
F2H_MSG_GMU_CNTR_REGISTER. The way it works is -the interrupt
handler snoops all the packets coming from GMU, processes the
acks inline but copies the aforementioned packets to a queue
and wakes up the daemon to process those.

Change-Id: Ib2c9d470a9c4c64bc44409015201adaff398edd8
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:39 -06:00
Harshdeep Dhatt
473b816ca6 msm: kgsl: Assign dispatch queue based on context priority
Based on context priority, assign a dispatch queue to a context
at context registration time. The dispatch queue id is decided
in a round robin fashion.

Change-Id: I8f9265aa99c22d941397fc204b0a6d8a2b25ec92
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:39 -06:00
Harshdeep Dhatt
0eb8eb4dcc msm: kgsl: Modify the a6xx interrupt mask for hwsched
With hardware scheduling, we only need to enable a subset
of interrupts as the rest of them are completely owned by
GMU.

Change-Id: I32afc4420299688b9a4322804ce972c79f1a7a22
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:38 -06:00
Harshdeep Dhatt
ea24bd99f6 msm: kgsl: Add the hwsched dispatcher
We need a dispatcher which can keep track of inflight submissions
so that in case of a fault, the remaining submissions can be re-
submitted after reset. Also, we need a dispatcher to hold queued
submissions until the input fences are signaled.

Change-Id: I59f5cf0fed6d443cf8a55fd0f40e3f16600d9a6f
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:37 -06:00
Harshdeep Dhatt
a8002ec263 msm: kgsl: Add context unregister HFI
This is a special sequence because we don't want to wait for
the ack back while holding the device mutex. This means, we
have to define a new sequence of unlocking the device mutex
before we begin our wait for ack.

Change-Id: I3ea27bdccd66cdaafd8cff6cc1366848c1a4bea6
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 13:23:32 -06:00
Mike Tipton
896d822703 defconfig: lahaina: Fix INTERCONNECT_TEST being disabled for QGKI
CONFIG_INTERCONNECT_TEST should be enabled in all config variants. The
interconnect-test debugfs files are required for debugging and
performance testing. It's set to CONFIG_INTERCONNECT_TEST=m in
lahaina_GKI.config, which should normally enable it for all variants.
But it's being unset in the lahaina_QGKI.config fragment.

Removing the "is not set" line is sufficient to re-enable it for the
standard build. But for some reason "make menuconfig" doesn't enable it,
which means its fairly easy for people to accidentally merge the
auto-generated "is not set" line again. It's not clear why menuconfig
doesn't enable it, but for now explicitly enable INTERCONNECT_TEST in
lahaina_QGKI.config as well.

Change-Id: I044f0dd6ce32dbf6522df5402a33805b808f3c1b
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2020-09-02 11:47:32 -07:00
Yue Ma
95b4155862 cnss2: Add changes to handle MHI power up failure properly
When MHI power up times out, check RDDM cookie to decide how to
proceed further. Also with above there is no need to dump PBL/SBL
error log in any other place hence remove them as well.

Change-Id: I81da5b6abb2004c7e9f197a13950fdafe15edeea
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2020-09-02 11:03:04 -07:00
Harshdeep Dhatt
019b8504ba msm: kgsl: Add support for multiple ack waiters
It is possible that there may be multiple host to firmware
messages waiting to be ACKed. So add support for putting them
in a list and traversing the list when an ack is received.
The primary use case for this feature is the context unregister
hfi of which there can be many, and they may get ACKed out of order.

Change-Id: I56087dab0814daf7e8ba720db0105e4762614b5e
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 10:16:38 -06:00
Harshdeep Dhatt
9786a5702b msm: kgsl: Dispatch submissions using hwscheduling
Add support for registering a context and sending
submissions to a single dispatch queue.

Change-Id: Ica16d8f54d5fa9bd0e416976224f24f7fca0884b
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 10:16:37 -06:00
Harshdeep Dhatt
bf1d7d92f8 msm: kgsl: Add asynchronous processing of acks
This adds the initial bits of handling acks asynchronously.
It is assumed that there is only one outstanding ack since we
wait for ack while holding the device mutex.
GMU handles acks inline until start_msg hfi and beyond that,
each hfi will be acked asynchronously.

Change-Id: I15e930d22f1154db377599a0c0409640821fb868
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 10:16:36 -06:00
Harshdeep Dhatt
fbe170edac msm: kgsl: Allow sending CP INIT via GMU
This change adds support to send CP INIT and switch to
unsecure mode packets via raw packets to GMU.

Change-Id: I2915b217c9c6c7d6dc624b4349d137df9a7a2c80
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 10:16:36 -06:00
Harshdeep Dhatt
dde333681c msm: kgsl: Add memalloc hfi support
Allocate gpu globals based on memalloc hfi requests. Map
them in gmu as well.

Change-Id: I43ecfedf5be92e39fd079a00f8311fe6aca7191b
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 10:16:35 -06:00
Harshdeep Dhatt
9e3803d654 msm: kgsl: Add the hwsched platform driver
This adds the skeleton for the hwsched driver to be
used for dispatching submissions using hwscheduling.

Change-Id: I963fe6b16deb58edab78ab0e9c66fae0d9294b9a
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-09-02 10:16:26 -06:00