summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-07-19 11:39:44 -0600
committerLinux Build Service Account <lnxbuild@localhost>2016-07-19 11:39:45 -0600
commita9c1a507d16f89cdc7ef01e6af7c9e732c124cdd (patch)
treee73780da1441bf835b8cea05ec4b34dd6fcf58e1 /include/linux
parent819b6079c0897725fd8a9dd0fd4402f5c69cb433 (diff)
parent7ebe256eaa819f5f9e168d922b12452d28a736a3 (diff)
Promotion of kernel.lnx.4.4-160719.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- 1025593 I1ac06aace8d79ad92d2b48cfb51e1394ef68906c soc: qcom: glink_smd_xprt: Fix ssr sync during intent re perf stat: Do not clean event's private stats target: Fix race with SCF_SEND_DELAYED_TAS handling s390/dasd: fix diag 0x250 inline assembly sctp: translate network order to host order when users g x86/irq: Remove the cpumask allocation from send_cleanup rtlwifi: rtl8192de: Fix incorrect module parameter descr 1041394 If77f1850396d3e78cdcb774cdb6de148a2b4d14e ARM: dts: msm: disable L1 and L1ss for PCIe on msmcobalt mmc: sdio: Fix invalid vdd in voltage switch power cycle dmaengine: at_xdmac: fix residue computation MIPS: traps: Fix SIGFPE information leak from `do_ov' an mmc: pxamci: fix again read-only gpio detection polarity drm/nouveau: platform: Fix deferred probe Bluetooth: Fix incorrect removing of IRKs 982110 Ia7e9f427dc20bbc0db61a1bc2debbe4536066cc0 ASoC: wcd-mbhc: fix plug removal detection from extensio KVM: s390: fix guest fprs memory leak ARCv2: SMP: Emulate IPI to self using software triggered rtlwifi: rtl8723be: Fix module parameter initialization drm/amdgpu: fix issue with overlapping userptrs ARM/vdso: Mark the vDSO code read-only after init 1039620 Ib4ee0e9432bb6f2916416e2826d5590e98f9d426 ARM: dts: msm: update VDD_APC1 CPR margin adjustments fo x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the drm/amdgpu: apply gfx_v8 fixes to gfx_v7 as well target: Fix WRITE_SAME/DISCARD conversion to linux 512b x86/irq: Copy vectormask instead of an AND operation s390/dasd: fix performance drop tcp: md5: release request socket instead of listener 1038435 I03a298cf69369efc58f8d85d39897408d34f3635 ARM: dts: msm: Increase ADSP ion heap by 4 MB for msmcob drm/radeon: Don't hang in radeon_flip_work_func on disab mmc: sdhci-pci: Fix card detect race for Intel BXT/APL lkdtm: Verify that '__ro_after_init' works correctly 1041199 I9e2dbb0f0acaa1442c1624556bc52abf98158c92 ASoC: wcd9xxx: add support for wcd934x codec 991080 I20a911fd8cec9e36e6867fa19428513f36054a8a msm: camera: isp: Fix the framedrop setting issue tcp: fix NULL deref in tcp_v4_send_ack() 1027456 I47abe573e2867b9c38bebd637a4ae2f07fab63a3 defconfig: msm: build dtb appended zImage for msmfalcon 973565 Icf27aa1c09d911eaa242cd753803389e56a05844 ARM: dts: msmcobalt: Add control for GPU software clockg 1041872 I59a01f2ac3b0c374eb3420f40054cc05a80226ba usb: pd: pdphy: Assign __pdphy before usbpd_create() mmc: sdhci: Allow override of mmc host operations 1033688 Ic91baeaeb7410b6f265b8bfa8e31e2bcff8dfce2 qcom-charger: update parallel charging states after boot ACPI / video: Add disable_backlight_sysfs_if quirk for t drm/i915: Restore inhibiting the load of the default con Btrfs: igrab inode in writepage ALSA: timer: Fix ioctls for X32 ABI ovl: fix getcwd() failure after unsuccessful rmdir drm/vmwgfx: Fix an incorrect lock check drm: Fix treatment of drm_vblank_offdelay in drm_vblank_ x86/irq: Fix a race in x86_vector_free_irqs() drm/amdgpu/pm: adjust display configuration after powers ALSA: seq: oss: Don't drain at closing a client PCI/AER: Flush workqueue on device remove to avoid use-a block: Initialize max_dev_sectors to 0 i2c: i801: Adding Intel Lewisburg support for iTCO pppoe: fix reference counting in PPPoE proxy 950797 Iec7a0d5472136f55e31723ce2f4d681a9b67c140 ARM: dts: msm: Attach device memory to lpass iommu on ms drivers: sh: Restore legacy clock domain on SuperH platf dmaengine: at_xdmac: fix resume for cyclic transfers efi: Add pstore variables to the deletion whitelist regulator: axp20x: Fix GPIO LDO enable value for AXP22x 1003498 I85b050a261cca6f961d5d9058efb8b7facf242ce USB: gadget: serial: Fix debugfs crash spi: atmel: fix gpio chip-select in case of non-DT platf x86/irq: Remove outgoing CPU from vector cleanup mask Thermal: do thermal zone update after a cooling device r xen/arm: correctly handle DMA mapping of compound pages USB: serial: option: add support for Quectel UC20 dm snapshot: fix hung bios when copy error occurs 988075 Iece28fe2551a74ec7b1b8b4b5cac02537e3d28d8 ASoC: wcd9335: Update decimator filter cutoff frequency MIPS: scache: Fix scache init with invalid line size. Ib78c315a43e98af4ea454998bc7ca8428522d5c0 msm: mdss: hdmi: parse High Dynamic Range (HDR) metadata x86/irq: Reorganize the search in assign_irq_vector toshiba_acpi: Fix blank screen at boot if transflective lib/ucs2_string: Correct ucs2 -> utf8 conversion 1041199 I79e07682661fea99baaa29f8807eaf2f684f65be ASoC: wcd934x: enable recording for wcd934x audio codec Linux 4.4.4 arch: Introduce post-init read-only memory drm/amdgpu: Fix error handling in amdgpu_flip_work_func. sctp: allow setting SCTP_SACK_IMMEDIATELY by the applica tools: hv: vss: fix the write()'s argument: error -> vss drm/i915: intel_hpd_init(): Fix suspend/resume reprobing Revert "jffs2: Fix lock acquisition order bug in jffs2_w MIPS: hpet: Choose a safe value for the ETIME check 1040269 Ifdcf7eaac0b29a2c68b7d95085f93df4fc34e751 ARM: dts: msm: update VDD_GFX CPR voltage adjustments fo 1035499 I0e31c6973eca1c7e9f9e0b57c0085716bfdb5ddb defconfig: msmcortex: Enable CONFIG_INET_LRO MIPS: Loongson-3: Fix SMP_ASK_C0COUNT IPI handler x86/vdso: Mark the vDSO code read-only after init tipc: unlock in error path ALSA: hda - Apply clock gate workaround to Skylake, too af_iucv: Validate socket address length in iucv_sock_bin x86/irq: Call chip->irq_set_affinity in proper context qmi_wwan: add "4G LTE usb-modem U901" xen/pcifront: Fix mysterious crashes when NUMA locality iommu/amd: Fix boot warning when device 00:00.0 is not i net/mlx4_en: Avoid changing dev->features directly in ru ovl: fix working on distributed fs as lower layer x86/irq: Reorganize the return path in assign_irq_vector drm/i915/dsi: don't pass arbitrary data to sideband af_unix: fix struct pid memory leak USB: qcserial: add Sierra Wireless EM74xx device ID 1041436 I419af32ee73bd486258692eba3f699e6b987c288 ARM: dts: msm: add 2k truly panel for msmcobalt drm/dp/mst: fix in MSTB RAD initialization drm: Prevent vblank counter bumps > 1 with active vblank 973718 I4972de893a638f2482c37796dd1718628526351d ASoC: msm: qdsp6v2: Add get for App Type mixer control 1028725 Iab59a45da4bbca19b2eaebc63d827768ae86eec8 clk: msm: clock-mmss-cobalt: Add display port pixel cloc 973565 If4a13b3eca117fc2ff9c32ca3a24eb8b8e70b4fe msm: kgsl: Disable GPU isense clock below nominal power Bluetooth: Add support of Toshiba Broadcom based devices arm64: errata: Add -mpc-relative-literal-loads to build mmc: mmci: fix an ages old detection error mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off() IB/mlx5: Expose correct maximum number of CQE capacity x86/entry/compat: Add missing CLAC to entry_INT80_32 block: get the 1st and last bvec via helpers bio: return EINTR if copying to user space got interrupt uapi: update install list after nvme.h rename ALSA: hda - Fix mic issues on Acer Aspire E1-472 drm/amdgpu: The VI specific EXE bit should only apply to tcp/dccp: fix another race at listener dismantle 1008552 944588 Id97f89debbd8d160a8ef624ae0c1be16c47d3270 msm: vidc: Fix buffer overflow issue in driver 950797 Ib771c685b3245878413cd78d20451a0dcfdfda63 defconfig: msmcortex: Enable USB audio QMI service drive sctp: Fix port hash table size computation KVM: VMX: disable PEBS before a guest entry 1014477 I027df9c9141ca9952e6e3d7817d97e11f742b637 ASoC: wcd9335: Update codec driver probe sequence 1034896 Ib639cd850a7cafa5f1176f0fa09efac8ad8738d5 msm: ipa: print resource bandwidth in ipa rm mips/kvm: fix ioctl error handling bcache: clear BCACHE_DEV_UNLINK_DONE flag when attaching si2157: return -EINVAL if firmware blob is too big Revert "Staging: panel: usleep_range is preferred over u 982110 I6643973a3b506d7f920e611ca51f06df94cc5a94 ASoC: wcd-mbhc: enable micbias for special headset ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail() lib/ucs2_string: Add ucs2 -> utf8 helper functions 973565 Ifd45878a65b7da4167d2caa30b3acffd427ad72e msm: kgsl: Disable GPU software clockgating on A540 thermal: cpu_cooling: fix out of bounds access in time_i mac80211: minstrel_ht: set default tx aggregation timeou drm/radeon: cleaned up VCO output settings for DP audio 1027921 I81e8a1e79cd974b7a13a9d23cb3d809464b6dcda msm: kgsl: Fix the access to invalid pool clocksource/drivers/vt8500: Increase the minimum delta btrfs: initialize the seq counter in struct btrfs_device MIPS: smp.c: Fix uninitialised temp_foreign_map kernel/resource.c: fix muxed resource handling in __requ drm/amdgpu: remove exp hardware support from iceland ASoC: wm8958: Fix enum ctl accesses in a wrong type tipc: fix connection abort during subscription cancel Btrfs: add missing brelse when superblock checksum fails drm/ast: Fix incorrect register check for DRAM width net: dp83640: Fix tx timestamp overflow handling. 1041199 I71d868703091821c76638da0abfa07f3bb043d82 defconfig: arm64: msmcortex: enable wcd934x for msmcobal 1041270 I94b5865ca22b4e1fde0d2cd8dcb218906327a916 usb: dwc3: Fix bug in ep disable operation regulator: mt6311: MT6311_REGULATOR needs to select REGM adv7604: fix tx 5v detect regression drm/amdgpu: Fix off-by-one errors in amdgpu_vm_bo_map EDAC, mc_sysfs: Fix freeing bus' name tipc: fix premature addition of node to lookup table USB: option: add "4G LTE usb-modem U901" mei: validate request value in client notify request ioc mac80211: minstrel_ht: fix a logic error in RTS/CTS hand Staging: speakup: Fix getting port information bcache: Add a cond_resched() call to gc cgroup: make sure a parent css isn't offlined before its bcache: prevent crash on changing writeback_running EDAC: Robustify workqueues destruction drm/i915: fix error path in intel_setup_gmbus() KVM: s390: fix memory overwrites when vx is disabled USB: qcserial: add Dell Wireless 5809e Gobi 4G HSPA+ (re virtio_balloon: fix race by fill and leak drm/radeon: properly byte swap vce firmware setup 1026885 Ib6df539c5e04ba4eefed59355fd13191f85492d8 Revert "msm: vidc: Handle encoder input in true dynamic lwt: fix rx checksum setting for lwt devices tunneling o Btrfs: send, don't BUG_ON() when an empty symlink is fou drm/amdgpu: return from atombios_dp_get_dpcd only when e ALSA: hdspm: Fix wrong boolean ctl value accesses 973565 I34471bb36248bc47b4b5c4b7f4bc54d6bab6ec28 msm: kgsl: Remove ISENSE control code ipv6: fix a lockdep splat KVM: x86: fix missed hardware breakpoints s390/kvm: remove dependency on struct save_area definiti bcache: allows use of register in udev to avoid "device_ net/mlx4_en: Choose time-stamping shift value according mac80211: Fix Public Action frame RX in AP mode 1040309 I2776af4b633832ea8a930275481593f4b9d3bce3 icnss: Add support for suspend/resume ACPI: Revert "ACPI / video: Add Dell Inspiron 5737 to th 1035341 Ib3070f739571fa73684a9c88c35d9af42bca9850 msm: mdss: Fix panel ESD detection mode selection jffs2: Fix page lock / f->sem deadlock iwlwifi: update and fix 7265 series PCI IDs drm/amdgpu: fix lost sync_to if scheduler is enabled. CIFS: Fix SMB2+ interim response processing for read req phy: core: fix wrong err handle for phy_power_on I130e1ad9aaa128c7b94ae70edc52b3f16439cb27 ASoC: msm: qdsp6v2: Increase PCM capture period size drm/dp/mst: move GUID storage from mgr, port to only mst Linux 4.4.5 Fix cifs_uniqueid_to_ino_t() function for s390x 1034641 I554c45ef3a172f5b5891b67a7e8e7a1f3f3882ed msm: camera: Fix memory read by adding bounds check powerpc: Fix dedotify for binutils >= 2.26 net: dsa: fix mv88e6xxx switches Linux 4.4.6 rtlwifi: rtl8188ee: Fix module parameter initialization should_follow_link(): validate ->d_seq after having deci ld-version: Fix awk regex compile failure ASoC: samsung: Use IRQ safe spin lock calls namei: ->d_inode of a pinned dentry is stable only for p hwmon: (ads1015) Handle negative conversion values corre 999711 I274ef656d26fbae9a92c27fb3dd7353b66ac015d ASoC: msm: Add support for 192KHZ sampling rate on mi2s 1041199 I98bbd10cc25e11f0411c94a4fdbedebc1ab56429 ASoC: msm: add support for wcd934x drm/amdgpu: hold reference to fences in amdgpu_sa_bo_new 1009668 I5f728abf8934f0a45eb1fe564fe872736b90a4b2 ASoC: wcd9330: Update driver for 12.288MHz clock support rtlwifi: rtl8192cu: Add missing parameter setup drm/dp/mst: always send reply for UP request rfkill: fix rfkill_fop_read wait_event usage ALSA: timer: Fix broken compat timer user status ioctl KVM: s390: correct fprs on SIGP (STOP AND) STORE STATUS irqchip/gic-v3-its: Fix double ICC_EOIR write for LPI in 1038944 I072a9d3ca906e311fa4f34119c42d92828dccedb clk: msm: clock-gpu-cobalt: Support running the gfx3d_is 1024187 I5d4eb58f5ed3ace03190f3c48b98f0d88e8b8965 leds: qpnp-flash-v2: Separate switch node disable sequen 988075 Iece28fe2551a74ec7b1b8b4b5cac02537e3d28d8 ASoC: wcd9335: Update decimator filter cutoff frequency iommu/vt-d: Use BUS_NOTIFY_REMOVED_DEVICE in hotplug pat PCI: Allow a NULL "parent" pointer in pci_bus_assign_dom drm/radeon: Fix off-by-one errors in radeon_vm_bo_set_ad 984463 I329eecc6bae8f130cd5598f6cee8ca5a01391cca sched: break the forever prev_cpu selection preference 1026249 Ief940806df63f9836cfcab23b4ec3bb667fcd2c6 wil6210: abort P2P search when stopping P2P device drm/amdgpu: mask out WC from BO on unsupported arches drm/radeon: Fix error handling in radeon_flip_work_func. tracing: Fix showing function event in available_events IB/cma: Fix RDMA port validation for iWarp clockevents/tcb_clksrc: Prevent disabling an already dis drm/radeon: fix DP audio support for APU with DCE4.1 dis 1020947 I1353f3a8e625803e6317bc543b7125ce52daa49c soc: qcom: glink_smd_xprt: Fix smd close ack for legacy USB: serial: option: add support for Telit LE922 PID 0x1 workqueue: handle NUMA_NO_NODE for unbound pool_workqueu drivers: android: correct the size of struct binder_uint Revert "workqueue: make sure delayed work run in local c uml: flush stdout before forking genirq: Validate action before dereferencing it in handl 997376 I086aa920fb93524aa2bf8a740514a3012cd5f8a0 msm: isp: Add 48K UB for MSM8917 target ASoC: dapm: Fix ctl value accesses in a wrong type ext4: fix bh->b_state corruption 1011048 Ia06096648ebdd4109c63dc399b07bf50c1d3dba3 ASoC: msm8996: add support for packed 24 bit make sure that freeing shmem fast symlinks is RCU-delaye arm64: vmemmap: use virtual projection of linear region irqchip/atmel-aic: Fix wrong bit operation for IRQ prior btrfs: async-thread: Fix a use-after-free error for trac block: don't optimize for non-cloned bio in bio_get_last ubi: Fix out of bounds write in volume update code target: Fix LUN_RESET active I/O handling for ACK_KREF iwlwifi: mvm: inc pending frames counter also when txing rtlwifi: rtl8192ce: Fix handling of module parameters rtlwifi: rtl_pci: Fix kernel panic ARM: OMAP2+: hwmod: Introduce ti,no-idle dt property xen/scsiback: correct frontend counting 1012646 Ib0b848fb410f4bf266b09cefed0e8bce7292d2ec clk: msm: clock-gcc-cobalt: Remove support for gcc_bimc_ ALSA: hdsp: Fix wrong boolean ctl value accesses can: gs_usb: fixed disconnect bug by removing erroneous Btrfs: fix deadlock running delayed iputs at transaction 1038421 I9291cb08c4597922131b8c2d420e834a00a72621 usb: dwc3: Change dwc3 irq to oneshot threaded irq dm thin: fix race condition when destroying thin pool wo bcache: unregister reboot notifier if bcache fails to un l2tp: Fix error creating L2TP tunnels mac80211: fix use of uninitialised values in RX aggregat irqchip/mxs: Add missing set_handle_irq() drm/i915: Make sure DC writes are coherent on flush. 973565 Idce662d8e2fa7b1479372a11f0791cc454847d24 ARM: dts: msmcobalt: Enable GPU Turbo on A540 IFF_NO_QUEUE: Fix for drivers not calling ether_setup() irqchip/omap-intc: Add support for spurious irq handling 1037857 I8905b91f26a66d26959fb109480f0390851cbdb4 clk: msm: mdss: fix calculation of VCO rate during hando pata-rb532-cf: get rid of the irq_to_gpio() call 1041122 Iae2cf922e8a69979ea353bf7353304f9be7405ce clk: msm: Add MSM clock config for MSM clock controller 1038866 Ic5ee71389b6b20c8557e0a75f9bbe5a1749cf655 usb: gadget: f_gsi: Set speed descriptor pointers to NUL drm/vmwgfx: respect 'nomodeset' mmc: sdhci-pci: Do not default to 33 Ohm driver strength mmc: core: Enable tuning according to the actual timing libceph: use the right footer size when skipping a messa 1035969 1041449 I496093bbc2125afbac58e83e38113af90858f1e7 defconfig: arm64: msm: Disable uid statistics target: Fix LUN_RESET active TMR descriptor handling Drivers: hv: vmbus: Fix a Host signaling bug target: Fix TAS handling for multi-session se_node_acls ARM: debug-ll: fix BCM63xx entry for multiplatform drm/vmwgfx: Fix a width / pitch mismatch on framebuffer Bluetooth: 6lowpan: Fix kernel NULL pointer dereferences af_unix: Guard against other == sk in unix_dgram_sendmsg hwmon: (dell-smm) Blacklist Dell Studio XPS 8000 ACPI / PCI / hotplug: unlock in error path in acpiphp_en mac80211: Requeue work after scan complete for all VIF t mmc: sdhci: Fix DMA descriptor with zero data length iommu/amd: Apply workaround for ATS write permission che block: fix use-after-free in dio_bio_complete 1009898 I2b9eb81552f4803c3accd0221ea891697a9a93bc cnss: Refactor CNSS Platform Driver for better code main ARCv2: STAR 9000950267: Handle return from intr to Delay 1023149 Ife0f265b65fda92a99f5170154da6cb4c6b113b7 usb: gadget: f_gsi: Increase USB GSI OUT TRBs from 7 to 1008552 995426 I738f201ed126c6be4076c582c37999362e1d0e88 msm: vidc: pm qos stability fixes for video driver seccomp: always propagate NO_NEW_PRIVS on tsync tunnels: Allow IPv6 UDP checksums to be correctly contro vb2: fix a regression in poll() behavior for output,stre libata: Align ata_device's id on a cacheline drm/qxl: use kmalloc_array to alloc reloc_info in qxl_pr KVM: x86: fix conversion of addresses to linear in 32-bi tcp: do not drop syn_recv on all icmp reports USB: option: add support for SIM7100E security: let security modules use PTRACE_MODE_* with bi Btrfs: Initialize btrfs_root->highest_objectid when load drm/dp/mst: Reverse order of MST enable and clearing VC bcache: Change refill_dirty() to always scan entire disk Adding Intel Lewisburg device IDs for SATA drm/dp/mst: process broadcast messages correctly tg3: Fix for tg3 transmit queue 0 timed out when too man unix: correctly track in-flight fds in sending process u cifs: fix out-of-bounds access in lease parsing 1033922 Ibf5343a86d3aeaf67acfbae381f103428c98ea73 msm: ADSPRPC: Handle fastrpc glink channel open on timeo 1024187 I13d5a64fc35ca80e928d6da689d7b19cbbdb8fe5 ARM: dts: msm: Add switch nodes to pmicobalt 1024187 Ibeebaff8456d8d338ac9bebb50e205e1196ce8a6 leds: qpnp-flash-v2: Add support for multiple switch nod cputime: Prevent 32bit overflow in time[val|spec]_to_cpu drm/dp/mst: Calculate MST PBN with 31.32 fixed point libceph: don't spam dmesg with stray reply warnings Thermal: handle thermal zone device properly during syst target: Fix remote-port TMR ABORT + se_cmd fabric stop drm/nouveau/disp/dp: ensure sink is powered up before at drm/i915: shut up gen8+ SDE irq dmesg noise coresight: checking for NULL string in coresight_name_ma mmc: mmc: Fix incorrect use of driver strength switching hwmon: (gpio-fan) Remove un-necessary speed_index lookup x86/irq: Check vector allocation early drm/radeon: mask out WC from BO on unsupported arches bcache: fix a leak in bch_cached_dev_run() s390/dasd: prevent incorrect length error under z/VM aft drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_sel ALSA: hda - Fixing background noise on Dell Inspiron 316 fbcon: set a default value to blink interval 1030478 Ib40a61c9cc93e95f5dcde7293911086dcf0b3c2f irq-chip: gic-v3: Initialize mpm for GIC monitored inter 1024397 Id9607b7e4a5e0cdcbf4c36ffad32536dd0669005 ARM: dts: msm: peripheral_mem carveout for msmcobalt IB/cm: Fix a recently introduced deadlock MIPS: Fix some missing CONFIG_CPU_MIPSR6 #ifdefs x86/irq: Do not use apic_chip_data.old_domain as tempora media: dvb-core: Don't force CAN_INVERSION_AUTO in onesh drm/amdgpu: drop topaz support from gmc8 module writeback: flush inode cgroup wb switches instead of pin vfio: fix ioctl error handling sunrpc/cache: fix off-by-one in qword_get() libata: fix sff host state machine locking while polling USB: cp210x: Add ID for Parrot NMEA GPS Flight Recorder x86/irq: Remove offline cpus from vector cleanup dmaengine: dw: fix cyclic transfer callbacks Bluetooth: 6lowpan: Fix handling of uncompressed IPv6 pa KVM: PPC: Book3S HV: Sanitize special-purpose register v drm: No-Op redundant calls to drm_vblank_off() (v2) x86/irq: Get rid of code duplication drm/radeon: call hpd_irq_event on resume 1036530 I7f430abfb2a545ac97dee488a696a89cd18214f1 scsi: ufshcd: Fix race between clk scaling and ungate wo Bluetooth: Use continuous scanning when creating LE conn drm/i915: Don't reject primary plane windowing with colo cpufreq: pxa2xx: fix pxa_cpufreq_change_voltage prototyp libceph: don't bail early from try_read() when skipping s390/compat: correct restore of high gprs on signal retu Btrfs: fix number of transaction units required to creat ovl: ignore lower entries when checking purity of non-di ARM: 8457/1: psci-smp is built only for SMP ideapad-laptop: Add Lenovo Yoga 700 to no_hw_rfkill dmi posix-clock: Fix return code on the poll method's error iwlwifi: pcie: properly configure the debug buffer size 1014777 Ica695e355a82ab9ca1998d656475f94fa2a37904 icnss: Setup hypervisor permissions for MSA0 mmc: usdhi6rol0: handle NULL data in timeout Revert "drm/radeon: call hpd_irq_event on resume" 1028714 1030478 Ic780118b7b38a0679f5d5037e404069aa1f2be0a spmi: spmi-pmic-arb: enable the SPMI interrupt as a wake btrfs: statfs: report zero available if metadata are exh s390/dasd: fix refcount for PAV reassignment 1024951 I5750ae9091ca349e98bba4b24c78ef9446278c5a nl80211: Move ACL parsing later to avoid a possible memo dm space map metadata: remove unused variable in brb_pop dmaengine: dw: fix cyclic transfer setup net: Copy inner L3 and L4 headers as unaligned on GRE TE iw_cxgb3: Fix incorrectly returning error on success drm/amdgpu: use post-decrement in error handling 1041122 Ia67373ee2b8934c898052c68338fa86cb16070dd clk: Add support to set custom flags with clk_set_flags xen/pciback: Save the number of MSI-X entries to be copi 1040848 If6e6f60170cfb4769456de4c4428831a29489da2 qcom-charger: smb-lib: fix battery health status writeback: keep superblock pinned during cgroup writebac drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil 1040164 Ia0d2f5f0e145a735ab565a4530a17d83f832bb88 regmap: initialize dump count to 1 KVM: x86: fix root cause for missed hardware breakpoints virtio_balloon: fix race between migration and balloonin ASoC: wm8994: Fix enum ctl accesses in a wrong type arm/arm64: KVM: Fix ioctl error handling ALSA: rawmidi: Fix ioctls X32 ABI drm/amdgpu: don't load MEC2 on topaz use ->d_seq to get coherency between ->d_inode and ->d_f clk: exynos: use irqsave version of spin_lock to avoid d locks: fix unlock when fcntl_setlk races with a close drm/radeon: Add a common function for DFS handling s390/mm: four page table levels vs. fork usb: chipidea: otg: change workqueue ci_otg as freezable drm/radeon/pm: update current crtc info after setting th ipv4: fix memory leaks in ip_cmsg_send() callers mmc: sdhci-acpi: Fix card detect race for Intel BXT/APL 1040254 If68bf5caeae35f35a534dcbe585057e78a57dbda clk: msm: clock: Call the correct init sequence during f drm/amdgpu: remove unnecessary forward declaration 1038427 Id76865085285e2d8b92dba6aa456b972374789ac msm: vidc: Fix an issue with high bitrate playback 1025554 I1a6e694591f41d6c3449e3f3d976650df93c5645 ARM: dts: msm: set rcu_expedited for msm chisets uml: fix hostfs mknod() dmaengine: pxa_dma: fix cyclic transfers bonding: Fix ARP monitor validation rc: sunxi-cir: Initialize the spinlock properly drm/amdgpu: fix tonga smu resume s390: fix normalization bug in exception table sorting drm/i915: Init power domains early in driver load MIPS: Fix build error when SMP is used without GIC iwlwifi: mvm: don't allow sched scans without matches to modules: fix longstanding /proc/kallsyms vs module inser KVM: x86: MMU: fix ubsan index-out-of-range warning target: Drop incorrect ABORT_TASK put for completed comm 1035341 I4e1b47a1422e454a919352c75a2fd5921c98a443 ARM: dts: msm: Enabling ESD detection support for msmcob spi: omap2-mcspi: Prevent duplicate gpio_request drm: add helper to check for wc memory support lib: sw842: select crc32 ARM: at91/dt: fix typo in sama5d2 pinmux descriptions x86/irq: Plug vector cleanup race drm/radeon: Fix "slow" audio over DP on DCE8+ drm/amdgpu: fix amdgpu_bo_pin_restricted VRAM placing v2 efi: Use ucs2_as_utf8 in efivarfs instead of open coding drm/i915: more virtual south bridge detection powerpc/powernv: Add a kmsg_dumper that flushes console mmc: sdhci: Allow override of get_cd() called from sdhci net_sched fix: reclassification needs to consider ether Revert "drm/radeon/pm: adjust display configuration afte USB: cp210x: add IDs for GE B650V3 and B850V3 boards virtio_pci: fix use after free on release drm/radeon/pm: adjust display configuration after powers Thermal: initialize thermal zone device correctly gspca: ov534/topro: prevent a division by 0 time: Avoid signed overflow in timekeeping_get_ns() drm/amdgpu: fix s4 resume ocfs2: unlock inode if deleting inode from orphan fails 1041199 I74a298739925b5763458c2e637372aa8f2c2aa55 drivers: mfd: do not modify reset gpio if codec is ident can: ems_usb: Fix possible tx overflow bpf: fix branch offset adjustment on backjumps after pat um: link with -lpthread cxl: use correct operator when writing pcie config space block: check virt boundary in bio_will_gap() cpufreq: Fix NULL reference crash while accessing policy x86/irq: Call irq_force_move_complete with irq descripto mm: thp: fix SMP race condition between THP page fault a mm/init: Add 'rodata=off' boot cmdline parameter to disa KVM: MMU: fix reserved bit check for ept=0/CR0.WP=0/CR4. KVM: arm/arm64: vgic: Ensure bitmaps are long enough sd: Optimal I/O size is in bytes, not sectors flow_dissector: Fix unaligned access in __skb_flow_disse drm/amdgpu/pm: update current crtc info after setting th drm/amdgpu: Don't hang in amdgpu_flip_work_func on disab 1040751 I1200aecb864c460f8096774ced62f37a023e378e ASoC: msmcobalt: add channel configuration for proxy por drm/amdgpu: pull topaz gmc bits into gmc_v7 ipv6: addrconf: Fix recursive spin lock call enic: increment devcmd2 result ring in case of timeout 1039023 I043178382cd90515063d09f526bd3e94f8ed5fc3 spmi-pmic-arb: change mode callback/ops for v3 1035499 I4ed497c69042a4d15f9340f91d60c262ca79a36b net lro: extend LRO to use hardware assists 1040128 Ib96cc4bcb47d034d9a314de8c1973f2d55106518 ARM: dts: msm: support full Gold cluster frequency plan dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer of/irq: Fix msi-map calculation for nonzero rid-base 1037267 Ide04b0d2017ce3c1a99edd2b38ef5b06178a1f41 msm: pcie: change the logging type for dumping PARF regi 1041199 I62c53d98b6cd8e750a040f692b164b9bfcf44799 ASoC: wcd934x: add wcd934x audio codec driver pptp: fix illegal memory access caused by multiple bind( x86/irq: Validate that irq descriptor is still active rtnl: RTM_GETNETCONF: fix wrong return value libata: fix HDIO_GET_32BIT ioctl drm/radeon: use post-decrement in error handling drm/nouveau/kms: take mode_config mutex in connector hot drm/amdgpu: call hpd_irq_event on resume block: bio: introduce helpers to get the 1st and last bv ALSA: hdspm: Fix zero-division kvm: cap halt polling at exactly halt_poll_ns 1041199 I5409b0f4ed58fefdd25abbe79f144de7e693c1a1 ASoC: aud-ext-clk: enable lnbbclk2 for tavil efi: Make our variable validation list include the guid drm/radeon: hold reference to fences in radeon_sa_bo_new drm/amdgpu: Use drm_calloc_large for VM page_tables arra net:Add sysctl_max_skb_frags drm/amdgpu: no need to load MC firmware on fiji btrfs: Fix no_space in write and rm loop unix_diag: fix incorrect sign extension in unix_lookup_b i2c: brcmstb: allocate correct amount of memory for regm usb: dwc3: Fix assignment of EP transfer resources KVM: MMU: fix ept=0/pte.u=1/pte.w=0/CR0.WP=0/CR4.SMEP=1/ af_unix: Don't set err in unix_stream_read_generic unles cdc-acm:exclude Samsung phone 04e8:685d devm_memremap: Fix error value when memremap failed x86/irq: Clear move_in_progress before sending cleanup I drm/amdgpu: move gmc7 support out of CIK dependency tda1004x: only update the frontend properties if locked ncpfs: fix a braino in OOM handling in ncp_fill_cache() 1036181 If96eccd817ecee6eae5fcc56fda29197b8b9f50d msm: mdss: Fix AD backlight configuration IB/qib: fix mcast detach when qp not attached tracing: Do not have 'comm' filter override event 'comm' inet: frag: Always orphan skbs inside ip_defrag() MIPS: Fix buffer overflow in syscall_get_arguments() KVM: async_pf: do not warn on page allocation failures 1037857 I1d522796d1dc0c73f7fe068c0964a9b5d1a09285 ARM: dts: msm: enable qcom,no-smr-check for mmss smmu fo 1038253 I97360dec3ec892aab688d332122c75283c3e6cf6 msm: ipa: exit when hdr proc ctx table is full drm/nouveau/display: Enable vblank irqs after display en ata: ahci: don't mark HotPlugCapable Ports as external/r rtlwifi: rtl8723ae: Fix initialization of module paramet jffs2: reduce the breakage on recovery from halfway fail x86/mpx: Fix off-by-one comparison with nr_registers kvm: x86: Update tsc multiplier on change. ideapad-laptop: Add Lenovo ideapad Y700-17ISK to no_hw_r mac80211: minstrel: Change expected throughput unit back bcache: fix a livelock when we cause a huge number of ca PM / sleep / x86: Fix crash on graph trace through x86 s do_last(): don't let a bogus return value from ->open() Fix directory hardlinks from deleted directories iwlwifi: dvm: fix WoWLAN x86/mm: Fix slow_virt_to_phys() for X86_PAE again drm: Fix drm_vblank_pre/post_modeset regression from Lin dm: fix dm_rq_target_io leak on faults with .request_fn drm/amdgpu: fix topaz/tonga gmc assignment in 4.4 stable ALSA: ctl: Fix ioctls for X32 ABI 1027456 Ie929d63a23c88799c488c5a79c81cd1cbfaa6565 arch: arm: select ARM_GIC even for targets with gic-v3 do_last(): ELOOP failure exit should be done after leavi powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and us drm/i915: refine qemu south bridge detection 1041515 I4b3e44bda6ee05932a7de66e1e7cea300936f982 msm: ipa3: don't check offset_entry when using DDR addre qla2xxx: Fix stale pointer access. 1024204 Ie3bff2a43cfc2ea16543a3e9322a10f42c4bd923 defconfig: msmcortex: don't set default CMA region size gpu: ipu-v3: Do not bail out on missing optional port no net/mlx4_en: Count HW buffer overrun only once efi: Make efivarfs entries immutable by default ARM: OMAP2+: Fix onenand initialization to avoid filesys ARM: mvebu: fix overlap of Crypto SRAM with PCIe memory ACPI / video: Add disable_backlight_sysfs_if quirk for t tick/nohz: Set the correct expiry when switching to nohz mm: numa: quickly fail allocations for NUMA balancing on drm/dp/mst: fix in RAD element access 1034899 I58b8ca712a7900caf37bf79f5281fb3b6dab80f2 qcom-charger: show correct battery status while charging efi: Do variable name validation tests in utf8 wext: fix message delay/ordering route: check and remove route cache when we get route Btrfs: fix transaction handle leak on failure to create nfit: fix multi-interface dimm handling, acpi6.1 compati mac80211: check PN correctly for GCMP-encrypted fragment tracing: Fix check for cpu online when event is disabled nfs: fix nfs_size_to_loff_t 991080 Ia0a7512006c1eeb15deb10b87aaff5668a7b5ef2 msm: camera: isp: Fix RDI stream streamoff issue Ice78f43721916110f52c3393f78c3a1868976821 msm: mdss: Fix deadlock in AD code 1028725 I65dcac9f4d17d30dfa1a00f4edabef33a3d75c6a clk: msm: clock-local: Add RCG support for DP pixel sour drm: fix missing reference counting decrease userfaultfd: don't block on the last VM updates at exit 1028714 1030478 I7cdc08d973b5ea711c877f7f2eabbe0fdbbf6fa0 qcom-charger: qpnp-smb2: enable some irqs as a wakeup so cpuset: make mm migration asynchronous asm-generic: Consolidate mark_rodata_ro() ALSA: usb-audio: Add a quirk for Plantronics DA45 PCI: keystone: Fix MSI code that retrieves struct pcie_p 990915 Ifb6b7849ec60fa1b5e3fd56c1d45631af1c18fd8 ASoC: wcd9335: Remove pop on bring-up of noise cancellin rtlwifi: rtl8192se: Fix module parameter initialization Revert "MIPS: Fix PAGE_MASK definition" drm/dp/mst: deallocate payload on port destruction NFSv4: Fix a dentry leak on alias use ovl: copy new uid/gid into overlayfs runtime inode 995988 I4caa5964f4fc774e33d9666f89b896f15e160943 ASoC: msm: Implementing Tx mute in ASM loopback ALSA: pcm: Fix ioctls for X32 ABI hpfs: don't truncate the file when delete fails switchdev: Require RTNL mutex to be held when sending FD powerpc/eeh: Fix partial hotplug criterion drm/amdgpu: iceland use CI based MC IP drm/i915/dsi: defend gpio table against out of bounds ac ipv6/udp: use sticky pktinfo egress ifindex on connect() Btrfs: fix loading of orphan roots leading to BUG_ON IB/qib: Support creating qps with GFP_NOIO flag drm/gma500: Use correct unref in the gem bo create funct arm64: account for sparsemem section alignment when choo libceph: fix ceph_msg_revoke() tcp: beware of alignments in tcp_get_info() cxl: Fix PSL timebase synchronization detection xen/pciback: Check PF instead of VF for PCI_COMMAND_MEMO 1039560 I955d81bffc957c4d93a1a90eb974e558e7b5d123 msm: ipa3: support 64bitmask with SMMU attached drm/amdgpu/gfx8: specify which engine to wait before vm gro: Make GRO aware of lightweight tunnels. drm/radeon: clean up fujitsu quirks parisc: Fix ptrace syscall number and return value modif sparc64: fix incorrect sign extension in sys_sparc64_per mei: fix fasync return value on error I9421af7d1b2b83abb81af38fab5f7c6e9285a29d thermal: tsens: Enable TSENS for msmfalcon s390/fpu: signals vs. floating point control register ARM: dts: dra7: do not gate cpsw clock due to errata i87 1037857 Idef763153cdce4e59684da872520eb0cb0b1434d ARM: dts: msm: add proxy vote for BIMC SMMU GDSC for msm cfg80211/wext: fix message ordering I7df66f91396f9c3fbb7d7d9c39d5eb0267511fc8 ARM: dts: msm: Add Temperature sensor support for msmfal drm/i915/dp: fall back to 18 bpp when sink capability is 1036019 1039433 I17c8c3e422fd62feaada978ac2be48f891417db0 msm: mdss: fix QSEED3 bypass mode and lut cfg issues Change-Id: I478aa1ca92099a9734d060ec992da30013330d3f CRs-Fixed: 1034896, 1039023, 1027456, 1024187, 1037267, 1025554, 999711, 1028714, 1040164, 1041872, 1027921, 973565, 1041436, 1037857, 1036019, 1040269, 1040309, 1041122, 1040751, 1035499, 1026249, 1020947, 997376, 1038435, 1025593, 1036530, 1041515, 1009898, 1030478, 1038944, 1039433, 1026885, 1028725, 991080, 995988, 982110, 988075, 1033922, 1040128, 995426, 1038427, 1034641, 990915, 1012646, 1040848, 944588, 1014777, 1041449, 1033688, 1011048, 1041270, 1024951, 1014477, 1039620, 950797, 984463, 1038866, 973718, 1041394, 1039560, 1035341, 1038421, 1008552, 1034899, 1023149, 1041199, 1036181, 1040254, 1035969, 1024397, 1003498, 1038253, 1024204, 1009668
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ata.h4
-rw-r--r--include/linux/bio.h32
-rw-r--r--include/linux/blkdev.h23
-rw-r--r--include/linux/cache.h14
-rw-r--r--include/linux/ceph/messenger.h2
-rw-r--r--include/linux/cgroup-defs.h6
-rw-r--r--include/linux/clk-provider.h3
-rw-r--r--include/linux/clk.h10
-rw-r--r--include/linux/cpuset.h6
-rw-r--r--include/linux/dcache.h4
-rw-r--r--include/linux/efi.h5
-rw-r--r--include/linux/hyperv.h18
-rw-r--r--include/linux/inet_lro.h89
-rw-r--r--include/linux/init.h4
-rw-r--r--include/linux/leds-qpnp-flash-v2.h39
-rw-r--r--include/linux/libata.h2
-rw-r--r--include/linux/mfd/msm-cdc-pinctrl.h6
-rw-r--r--include/linux/mfd/wcd934x/registers.h1845
-rw-r--r--include/linux/mfd/wcd9xxx/core.h3
-rw-r--r--include/linux/mfd/wcd9xxx/wcd9xxx-utils.h22
-rw-r--r--include/linux/nfs_fs.h4
-rw-r--r--include/linux/sched.h1
-rw-r--r--include/linux/shmem_fs.h5
-rw-r--r--include/linux/skbuff.h1
-rw-r--r--include/linux/thermal.h5
-rw-r--r--include/linux/trace_events.h2
-rw-r--r--include/linux/tracepoint.h17
-rw-r--r--include/linux/ucs2_string.h4
-rw-r--r--include/linux/writeback.h5
29 files changed, 2113 insertions, 68 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h
index d2992bfa1706..c1a2f345cbe6 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -487,8 +487,8 @@ enum ata_tf_protocols {
};
enum ata_ioctls {
- ATA_IOC_GET_IO32 = 0x309,
- ATA_IOC_SET_IO32 = 0x324,
+ ATA_IOC_GET_IO32 = 0x309, /* HDIO_GET_32BIT */
+ ATA_IOC_SET_IO32 = 0x324, /* HDIO_SET_32BIT */
};
/* core structures */
diff --git a/include/linux/bio.h b/include/linux/bio.h
index b9b6e046b52e..fbe47bc700bd 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -310,6 +310,38 @@ static inline void bio_clear_flag(struct bio *bio, unsigned int bit)
bio->bi_flags &= ~(1U << bit);
}
+static inline void bio_get_first_bvec(struct bio *bio, struct bio_vec *bv)
+{
+ *bv = bio_iovec(bio);
+}
+
+static inline void bio_get_last_bvec(struct bio *bio, struct bio_vec *bv)
+{
+ struct bvec_iter iter = bio->bi_iter;
+ int idx;
+
+ if (unlikely(!bio_multiple_segments(bio))) {
+ *bv = bio_iovec(bio);
+ return;
+ }
+
+ bio_advance_iter(bio, &iter, iter.bi_size);
+
+ if (!iter.bi_bvec_done)
+ idx = iter.bi_idx - 1;
+ else /* in the middle of bvec */
+ idx = iter.bi_idx;
+
+ *bv = bio->bi_io_vec[idx];
+
+ /*
+ * iter.bi_bvec_done records actual length of the last bvec
+ * if this bio ends in the middle of one io vector
+ */
+ if (iter.bi_bvec_done)
+ bv->bv_len = iter.bi_bvec_done;
+}
+
enum bip_flags {
BIP_BLOCK_INTEGRITY = 1 << 0, /* block layer owns integrity data */
BIP_MAPPED_INTEGRITY = 1 << 1, /* ref tag has been remapped */
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 45bae2b85f46..84af69b95026 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1373,6 +1373,13 @@ static inline void put_dev_sector(Sector p)
page_cache_release(p.v);
}
+static inline bool __bvec_gap_to_prev(struct request_queue *q,
+ struct bio_vec *bprv, unsigned int offset)
+{
+ return offset ||
+ ((bprv->bv_offset + bprv->bv_len) & queue_virt_boundary(q));
+}
+
/*
* Check if adding a bio_vec after bprv with offset would create a gap in
* the SG list. Most drivers don't care about this, but some do.
@@ -1382,18 +1389,22 @@ static inline bool bvec_gap_to_prev(struct request_queue *q,
{
if (!queue_virt_boundary(q))
return false;
- return offset ||
- ((bprv->bv_offset + bprv->bv_len) & queue_virt_boundary(q));
+ return __bvec_gap_to_prev(q, bprv, offset);
}
static inline bool bio_will_gap(struct request_queue *q, struct bio *prev,
struct bio *next)
{
- if (!bio_has_data(prev))
- return false;
+ if (bio_has_data(prev) && queue_virt_boundary(q)) {
+ struct bio_vec pb, nb;
+
+ bio_get_last_bvec(prev, &pb);
+ bio_get_first_bvec(next, &nb);
- return bvec_gap_to_prev(q, &prev->bi_io_vec[prev->bi_vcnt - 1],
- next->bi_io_vec[0].bv_offset);
+ return __bvec_gap_to_prev(q, &pb, nb.bv_offset);
+ }
+
+ return false;
}
static inline bool req_gap_back_merge(struct request *req, struct bio *bio)
diff --git a/include/linux/cache.h b/include/linux/cache.h
index 17e7e82d2aa7..1be04f8c563a 100644
--- a/include/linux/cache.h
+++ b/include/linux/cache.h
@@ -12,10 +12,24 @@
#define SMP_CACHE_BYTES L1_CACHE_BYTES
#endif
+/*
+ * __read_mostly is used to keep rarely changing variables out of frequently
+ * updated cachelines. If an architecture doesn't support it, ignore the
+ * hint.
+ */
#ifndef __read_mostly
#define __read_mostly
#endif
+/*
+ * __ro_after_init is used to mark things that are read-only after init (i.e.
+ * after mark_rodata_ro() has been called). These are effectively read-only,
+ * but may get written to during init, so can't live in .rodata (via "const").
+ */
+#ifndef __ro_after_init
+#define __ro_after_init __attribute__((__section__(".data..ro_after_init")))
+#endif
+
#ifndef ____cacheline_aligned
#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
#endif
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
index 71b1d6cdcb5d..8dbd7879fdc6 100644
--- a/include/linux/ceph/messenger.h
+++ b/include/linux/ceph/messenger.h
@@ -220,6 +220,7 @@ struct ceph_connection {
struct ceph_entity_addr actual_peer_addr;
/* message out temps */
+ struct ceph_msg_header out_hdr;
struct ceph_msg *out_msg; /* sending message (== tail of
out_sent) */
bool out_msg_done;
@@ -229,7 +230,6 @@ struct ceph_connection {
int out_kvec_left; /* kvec's left in out_kvec */
int out_skip; /* skip this many bytes */
int out_kvec_bytes; /* total bytes left */
- bool out_kvec_is_msg; /* kvec refers to out_msg */
int out_more; /* there is more data after the kvecs */
__le64 out_temp_ack; /* for writing an ack */
struct ceph_timespec out_temp_keepalive2; /* for writing keepalive2
diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h
index 4a4eea01956c..a702c042b716 100644
--- a/include/linux/cgroup-defs.h
+++ b/include/linux/cgroup-defs.h
@@ -133,6 +133,12 @@ struct cgroup_subsys_state {
*/
u64 serial_nr;
+ /*
+ * Incremented by online self and children. Used to guarantee that
+ * parents are not offlined before their children.
+ */
+ atomic_t online_cnt;
+
/* percpu_ref killing and RCU release */
struct rcu_head rcu_head;
struct work_struct destroy_work;
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index 03b9f6fab0ff..23026ba6ff25 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -173,6 +173,8 @@ struct clk_rate_request {
* directory is provided as an argument. Called with
* prepare_lock held. Returns 0 on success, -EERROR otherwise.
*
+ * @set_flags: Set custom flags which deals with hardware specifics. Returns 0
+ * on success, -EEROR otherwise.
*
* The clk_enable/clk_disable and clk_prepare/clk_unprepare pairs allow
* implementations to split any work between atomic (enable) and sleepable
@@ -213,6 +215,7 @@ struct clk_ops {
int (*set_phase)(struct clk_hw *hw, int degrees);
void (*init)(struct clk_hw *hw);
int (*debug_init)(struct clk_hw *hw, struct dentry *dentry);
+ int (*set_flags)(struct clk_hw *hw, unsigned flags);
};
/**
diff --git a/include/linux/clk.h b/include/linux/clk.h
index c06bbd5ce952..76708a7c46c0 100644
--- a/include/linux/clk.h
+++ b/include/linux/clk.h
@@ -408,6 +408,16 @@ struct clk *clk_get_parent(struct clk *clk);
*/
struct clk *clk_get_sys(const char *dev_id, const char *con_id);
+/**
+ * clk_set_flags - set the custom specific flags for this clock
+ * @clk: clock source
+ * @flags: custom flags which would be hardware specific, defined for specific
+ * hardware.
+ *
+ * Returns success 0 or negative errno.
+ */
+int clk_set_flags(struct clk *clk, unsigned long flags);
+
#else /* !CONFIG_HAVE_CLK */
static inline struct clk *clk_get(struct device *dev, const char *id)
diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h
index 85a868ccb493..fea160ee5803 100644
--- a/include/linux/cpuset.h
+++ b/include/linux/cpuset.h
@@ -137,6 +137,8 @@ static inline void set_mems_allowed(nodemask_t nodemask)
task_unlock(current);
}
+extern void cpuset_post_attach_flush(void);
+
#else /* !CONFIG_CPUSETS */
static inline bool cpusets_enabled(void) { return false; }
@@ -243,6 +245,10 @@ static inline bool read_mems_allowed_retry(unsigned int seq)
return false;
}
+static inline void cpuset_post_attach_flush(void)
+{
+}
+
#endif /* !CONFIG_CPUSETS */
#endif /* _LINUX_CPUSET_H */
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index d67ae119cf4e..8a2e009c8a5a 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -409,9 +409,7 @@ static inline bool d_mountpoint(const struct dentry *dentry)
*/
static inline unsigned __d_entry_type(const struct dentry *dentry)
{
- unsigned type = READ_ONCE(dentry->d_flags);
- smp_rmb();
- return type & DCACHE_ENTRY_TYPE;
+ return dentry->d_flags & DCACHE_ENTRY_TYPE;
}
static inline bool d_is_miss(const struct dentry *dentry)
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 569b5a866bb1..47be3ad7d3e5 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1199,7 +1199,10 @@ int efivar_entry_iter(int (*func)(struct efivar_entry *, void *),
struct efivar_entry *efivar_entry_find(efi_char16_t *name, efi_guid_t guid,
struct list_head *head, bool remove);
-bool efivar_validate(efi_char16_t *var_name, u8 *data, unsigned long len);
+bool efivar_validate(efi_guid_t vendor, efi_char16_t *var_name, u8 *data,
+ unsigned long data_size);
+bool efivar_variable_is_removable(efi_guid_t vendor, const char *name,
+ size_t len);
extern struct work_struct efivar_work;
void efivar_run_worker(void);
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 8fdc17b84739..ae6a711dcd1d 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -630,6 +630,11 @@ struct hv_input_signal_event_buffer {
struct hv_input_signal_event event;
};
+enum hv_signal_policy {
+ HV_SIGNAL_POLICY_DEFAULT = 0,
+ HV_SIGNAL_POLICY_EXPLICIT,
+};
+
struct vmbus_channel {
/* Unique channel id */
int id;
@@ -757,8 +762,21 @@ struct vmbus_channel {
* link up channels based on their CPU affinity.
*/
struct list_head percpu_list;
+ /*
+ * Host signaling policy: The default policy will be
+ * based on the ring buffer state. We will also support
+ * a policy where the client driver can have explicit
+ * signaling control.
+ */
+ enum hv_signal_policy signal_policy;
};
+static inline void set_channel_signal_state(struct vmbus_channel *c,
+ enum hv_signal_policy policy)
+{
+ c->signal_policy = policy;
+}
+
static inline void set_channel_read_state(struct vmbus_channel *c, bool state)
{
c->batched_reading = state;
diff --git a/include/linux/inet_lro.h b/include/linux/inet_lro.h
index 9a715cfa1fe3..365fb3be7ee7 100644
--- a/include/linux/inet_lro.h
+++ b/include/linux/inet_lro.h
@@ -81,6 +81,7 @@ struct net_lro_mgr {
#define LRO_F_EXTRACT_VLAN_ID 2 /* Set flag if VLAN IDs are extracted
from received packets and eth protocol
is still ETH_P_8021Q */
+#define LRO_F_NI 4 /* If not NAPI, Pass packets to stack via NI */
/*
* Set for generated SKBs that are not added to
@@ -122,6 +123,50 @@ struct net_lro_mgr {
};
/*
+ * Large Receive Offload (LRO) information provided by the driver
+ *
+ * Fields must be set by driver when using the lro_receive_skb_ext()
+ */
+struct net_lro_info {
+ /* bitmask indicating the supported fields */
+ unsigned long valid_fields;
+ /*
+ * Driver has checked the LRO eligibilty of the skb
+ */
+ #define LRO_ELIGIBILITY_CHECKED (1 << 0)
+ /*
+ * Driver has provided the TCP payload checksum
+ */
+ #define LRO_TCP_DATA_CSUM (1 << 1)
+ /*
+ * Driver has extracted the TCP window from the skb
+ * The value is in network format
+ */
+ #define LRO_TCP_WIN (1 << 2)
+ /*
+ * Driver has extracted the TCP sequence number from skb
+ * The value is in network format
+ */
+ #define LRO_TCP_SEQ_NUM (1 << 3)
+ /*
+ * Driver has extracted the TCP ack number from the skb
+ * The value is in network format
+ */
+ #define LRO_TCP_ACK_NUM (1 << 4)
+ /*
+ * Driver has provided the LRO descriptor
+ */
+ #define LRO_DESC (1 << 5)
+
+ bool lro_eligible;
+ __wsum tcp_data_csum;
+ __be16 tcp_win;
+ __be32 tcp_seq_num;
+ __be32 tcp_ack_num;
+ struct net_lro_desc *lro_desc;
+};
+
+/*
* Processes a SKB
*
* @lro_mgr: LRO manager to use
@@ -133,10 +178,54 @@ struct net_lro_mgr {
void lro_receive_skb(struct net_lro_mgr *lro_mgr,
struct sk_buff *skb,
void *priv);
+
+/*
+ * Processes an SKB
+ *
+ * This API provides means to pass any LRO information that has already
+ * been extracted by the driver
+ *
+ * @lro_mgr: LRO manager to use
+ * @skb: SKB to aggregate
+ * @priv: Private data that may be used by driver functions
+ * (for example get_tcp_ip_hdr)
+ * @lro_info: LRO information extracted by the driver
+ */
+
+void lro_receive_skb_ext(struct net_lro_mgr *lro_mgr,
+ struct sk_buff *skb,
+ void *priv,
+ struct net_lro_info *lro_info);
+
+/*
+ * Processes a fragment list
+ *
+ * This functions aggregate fragments and generate SKBs do pass
+ * the packets to the stack.
+ *
+ * @lro_mgr: LRO manager to use
+ * @frags: Fragment to be processed. Must contain entire header in first
+ * element.
+ * @len: Length of received data
+ * @true_size: Actual size of memory the fragment is consuming
+ * @priv: Private data that may be used by driver functions
+ * (for example get_tcp_ip_hdr)
+ */
+
+void lro_receive_frags(struct net_lro_mgr *lro_mgr,
+ struct skb_frag_struct *frags,
+ int len, int true_size, void *priv, __wsum sum);
+
/*
* Forward all aggregated SKBs held by lro_mgr to network stack
*/
void lro_flush_all(struct net_lro_mgr *lro_mgr);
+void lro_flush_pkt(struct net_lro_mgr *lro_mgr,
+ struct iphdr *iph, struct tcphdr *tcph);
+
+void lro_flush_desc(struct net_lro_mgr *lro_mgr,
+ struct net_lro_desc *lro_desc);
+
#endif
diff --git a/include/linux/init.h b/include/linux/init.h
index b449f378f995..aedb254abc37 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -142,6 +142,10 @@ void prepare_namespace(void);
void __init load_default_modules(void);
int __init init_rootfs(void);
+#ifdef CONFIG_DEBUG_RODATA
+void mark_rodata_ro(void);
+#endif
+
extern void (*late_time_init)(void);
extern bool initcall_debug;
diff --git a/include/linux/leds-qpnp-flash-v2.h b/include/linux/leds-qpnp-flash-v2.h
index 1ff8781d3837..47fd0699a9c1 100644
--- a/include/linux/leds-qpnp-flash-v2.h
+++ b/include/linux/leds-qpnp-flash-v2.h
@@ -19,45 +19,6 @@
#define ENABLE_REGULATOR BIT(0)
#define QUERY_MAX_CURRENT BIT(1)
-struct flash_regulator_data {
- struct regulator *vreg;
- const char *reg_name;
- u32 max_volt_uv;
-};
-
-/*
- * Configurations for each individual LED
- */
-struct flash_node_data {
- struct platform_device *pdev;
- struct led_classdev cdev;
- struct pinctrl *pinctrl;
- struct pinctrl_state *gpio_state_active;
- struct pinctrl_state *gpio_state_suspend;
- struct pinctrl_state *hw_strobe_state_active;
- struct pinctrl_state *hw_strobe_state_suspend;
- int hw_strobe_gpio;
- int ires_ua;
- int max_current;
- int current_ma;
- u8 duration;
- u8 id;
- u8 type;
- u8 ires;
- u8 hdrm_val;
- u8 current_reg_val;
- u8 trigger;
- bool led_on;
-};
-
-struct flash_switch_data {
- struct platform_device *pdev;
- struct led_classdev cdev;
- struct flash_regulator_data *reg_data;
- u8 num_regulators;
- bool regulator_on;
-};
-
int qpnp_flash_led_prepare(struct led_classdev *led_cdev, int options);
#endif
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 600c1e0626a5..b20a2752f934 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -718,7 +718,7 @@ struct ata_device {
union {
u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
u32 gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */
- };
+ } ____cacheline_aligned;
/* DEVSLP Timing Variables from Identify Device Data Log */
u8 devslp_timing[ATA_LOG_DEVSLP_SIZE];
diff --git a/include/linux/mfd/msm-cdc-pinctrl.h b/include/linux/mfd/msm-cdc-pinctrl.h
index 395b935b6aec..951b8d4d1ed9 100644
--- a/include/linux/mfd/msm-cdc-pinctrl.h
+++ b/include/linux/mfd/msm-cdc-pinctrl.h
@@ -20,6 +20,7 @@
extern int msm_cdc_pinctrl_select_sleep_state(struct device_node *);
extern int msm_cdc_pinctrl_select_active_state(struct device_node *);
extern bool msm_cdc_pinctrl_get_state(struct device_node *);
+extern int msm_cdc_get_gpio_state(struct device_node *);
#else
int msm_cdc_pinctrl_select_sleep_state(struct device_node *np)
@@ -30,6 +31,11 @@ int msm_cdc_pinctrl_select_active_state(struct device_node *np)
{
return 0;
}
+int msm_cdc_get_gpio_state(struct device_node *np)
+{
+ return 0;
+}
+#
#endif
#endif
diff --git a/include/linux/mfd/wcd934x/registers.h b/include/linux/mfd/wcd934x/registers.h
new file mode 100644
index 000000000000..871bf6a778b1
--- /dev/null
+++ b/include/linux/mfd/wcd934x/registers.h
@@ -0,0 +1,1845 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _WCD934X_REGISTERS_H
+#define _WCD934X_REGISTERS_H
+
+#define WCD934X_PAGE_SIZE 256
+#define WCD934X_NUM_PAGES 256
+
+extern const u8 * const wcd934x_reg[WCD934X_NUM_PAGES];
+
+enum {
+ WCD934X_PAGE_0 = 0,
+ WCD934X_PAGE_1,
+ WCD934X_PAGE_2,
+ WCD934X_PAGE_4 = 4,
+ WCD934X_PAGE_5,
+ WCD934X_PAGE_6,
+ WCD934X_PAGE_7,
+ WCD934X_PAGE_10 = 0xA,
+ WCD934X_PAGE_11,
+ WCD934X_PAGE_12,
+ WCD934X_PAGE_13,
+ WCD934X_PAGE_14,
+ WCD934X_PAGE_15,
+ WCD934X_PAGE_0X80,
+};
+
+enum {
+ WCD934X_WRITE = 0,
+ WCD934X_READ,
+ WCD934X_READ_WRITE,
+};
+
+/* Page-0 Registers */
+#define WCD934X_PAGE0_PAGE_REGISTER 0x0000
+#define WCD934X_CODEC_RPM_CLK_BYPASS 0x0001
+#define WCD934X_CODEC_RPM_CLK_GATE 0x0002
+#define WCD934X_CODEC_RPM_CLK_MCLK_CFG 0x0003
+#define WCD934X_CODEC_RPM_CLK_MCLK2_CFG 0x0004
+#define WCD934X_CODEC_RPM_I2S_DSD_CLK_SEL 0x0005
+#define WCD934X_CODEC_RPM_RST_CTL 0x0009
+#define WCD934X_CODEC_RPM_PWR_CDC_DIG_HM_CTL 0x0011
+#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE0 0x0021
+#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE1 0x0022
+#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE2 0x0023
+#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE3 0x0024
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_CTL 0x0025
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_TEST0 0x0026
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_TEST1 0x0027
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT0 0x0029
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT1 0x002a
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT2 0x002b
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT3 0x002c
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT4 0x002d
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT5 0x002e
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT6 0x002f
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT7 0x0030
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT8 0x0031
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT9 0x0032
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT10 0x0033
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT11 0x0034
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT12 0x0035
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT13 0x0036
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT14 0x0037
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT15 0x0038
+#define WCD934X_CHIP_TIER_CTRL_EFUSE_STATUS 0x0039
+#define WCD934X_CHIP_TIER_CTRL_I2C_SLAVE_ID_NONNEGO 0x003a
+#define WCD934X_CHIP_TIER_CTRL_I2C_SLAVE_ID_1 0x003b
+#define WCD934X_CHIP_TIER_CTRL_I2C_SLAVE_ID_2 0x003c
+#define WCD934X_CHIP_TIER_CTRL_I2C_SLAVE_ID_3 0x003d
+#define WCD934X_CHIP_TIER_CTRL_ANA_WAIT_STATE_CTL 0x003e
+#define WCD934X_CHIP_TIER_CTRL_SLNQ_WAIT_STATE_CTL 0x003f
+#define WCD934X_CHIP_TIER_CTRL_I2C_ACTIVE 0x0040
+#define WCD934X_CHIP_TIER_CTRL_ALT_FUNC_EN 0x0041
+#define WCD934X_CHIP_TIER_CTRL_GPIO_CTL_OE 0x0042
+#define WCD934X_CHIP_TIER_CTRL_GPIO_CTL_DATA 0x0043
+#define WCD934X_DATA_HUB_RX0_CFG 0x0051
+#define WCD934X_DATA_HUB_RX1_CFG 0x0052
+#define WCD934X_DATA_HUB_RX2_CFG 0x0053
+#define WCD934X_DATA_HUB_RX3_CFG 0x0054
+#define WCD934X_DATA_HUB_RX4_CFG 0x0055
+#define WCD934X_DATA_HUB_RX5_CFG 0x0056
+#define WCD934X_DATA_HUB_RX6_CFG 0x0057
+#define WCD934X_DATA_HUB_RX7_CFG 0x0058
+#define WCD934X_DATA_HUB_SB_TX0_INP_CFG 0x0061
+#define WCD934X_DATA_HUB_SB_TX1_INP_CFG 0x0062
+#define WCD934X_DATA_HUB_SB_TX2_INP_CFG 0x0063
+#define WCD934X_DATA_HUB_SB_TX3_INP_CFG 0x0064
+#define WCD934X_DATA_HUB_SB_TX4_INP_CFG 0x0065
+#define WCD934X_DATA_HUB_SB_TX5_INP_CFG 0x0066
+#define WCD934X_DATA_HUB_SB_TX6_INP_CFG 0x0067
+#define WCD934X_DATA_HUB_SB_TX7_INP_CFG 0x0068
+#define WCD934X_DATA_HUB_SB_TX8_INP_CFG 0x0069
+#define WCD934X_DATA_HUB_SB_TX9_INP_CFG 0x006a
+#define WCD934X_DATA_HUB_SB_TX10_INP_CFG 0x006b
+#define WCD934X_DATA_HUB_SB_TX11_INP_CFG 0x006c
+#define WCD934X_DATA_HUB_SB_TX13_INP_CFG 0x006e
+#define WCD934X_DATA_HUB_SB_TX14_INP_CFG 0x006f
+#define WCD934X_DATA_HUB_SB_TX15_INP_CFG 0x0070
+#define WCD934X_DATA_HUB_I2S_TX0_CFG 0x0071
+#define WCD934X_DATA_HUB_I2S_TX1_0_CFG 0x0073
+#define WCD934X_DATA_HUB_I2S_TX1_1_CFG 0x0074
+#define WCD934X_DATA_HUB_I2S_0_CTL 0x0081
+#define WCD934X_DATA_HUB_I2S_1_CTL 0x0082
+#define WCD934X_DATA_HUB_I2S_2_CTL 0x0083
+#define WCD934X_DATA_HUB_I2S_3_CTL 0x0084
+#define WCD934X_DATA_HUB_I2S_CLKSRC_CTL 0x0085
+#define WCD934X_DATA_HUB_I2S_COMMON_CTL 0x0086
+#define WCD934X_DATA_HUB_I2S_0_TDM_CTL 0x0087
+#define WCD934X_DATA_HUB_I2S_STATUS 0x0088
+#define WCD934X_DMA_RDMA_CTL_0 0x0091
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_0 0x0092
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_0 0x0093
+#define WCD934X_DMA_RDMA_CTL_1 0x0094
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_1 0x0095
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_1 0x0096
+#define WCD934X_DMA_RDMA_CTL_2 0x0097
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_2 0x0098
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_2 0x0099
+#define WCD934X_DMA_RDMA_CTL_3 0x009A
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_3 0x009B
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_3 0x009C
+#define WCD934X_DMA_RDMA_CTL_4 0x009D
+#define WCD934X_DMA_CH_2_3_CFG_RDMA_4 0x009E
+#define WCD934X_DMA_CH_0_1_CFG_RDMA_4 0x009F
+#define WCD934X_DMA_RDMA4_PRT_CFG 0x00b1
+#define WCD934X_DMA_RDMA_SBTX0_7_CFG 0x00b9
+#define WCD934X_DMA_RDMA_SBTX8_11_CFG 0x00ba
+#define WCD934X_DMA_WDMA_CTL_0 0x00c1
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_0 0x00c2
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_0 0x00c3
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_0 0x00c4
+#define WCD934X_DMA_WDMA_CTL_1 0x00C6
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_1 0x00C7
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_1 0x00C8
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_1 0x00C9
+#define WCD934X_DMA_WDMA_CTL_2 0x00CB
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_2 0x00CC
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_2 0x00CD
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_2 0x00CE
+#define WCD934X_DMA_WDMA_CTL_3 0x00D0
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_3 0x00D1
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_3 0x00D2
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_3 0x00D3
+#define WCD934X_DMA_WDMA_CTL_4 0x00D5
+#define WCD934X_DMA_CH_4_5_CFG_WDMA_4 0x00D6
+#define WCD934X_DMA_CH_2_3_CFG_WDMA_4 0x00D7
+#define WCD934X_DMA_CH_0_1_CFG_WDMA_4 0x00D8
+#define WCD934X_DMA_WDMA0_PRT_CFG 0x00E1
+#define WCD934X_DMA_WDMA3_PRT_CFG 0x00E2
+#define WCD934X_DMA_WDMA4_PRT0_3_CFG 0x00E3
+#define WCD934X_DMA_WDMA4_PRT4_7_CFG 0x00E4
+#define WCD934X_PAGE1_PAGE_REGISTER 0x0100
+#define WCD934X_CPE_FLL_USER_CTL_0 0x0101
+#define WCD934X_CPE_FLL_USER_CTL_1 0x0102
+#define WCD934X_CPE_FLL_USER_CTL_2 0x0103
+#define WCD934X_CPE_FLL_USER_CTL_3 0x0104
+#define WCD934X_CPE_FLL_USER_CTL_4 0x0105
+#define WCD934X_CPE_FLL_USER_CTL_5 0x0106
+#define WCD934X_CPE_FLL_USER_CTL_6 0x0107
+#define WCD934X_CPE_FLL_USER_CTL_7 0x0108
+#define WCD934X_CPE_FLL_USER_CTL_8 0x0109
+#define WCD934X_CPE_FLL_USER_CTL_9 0x010a
+#define WCD934X_CPE_FLL_L_VAL_CTL_0 0x010b
+#define WCD934X_CPE_FLL_L_VAL_CTL_1 0x010c
+#define WCD934X_CPE_FLL_DSM_FRAC_CTL_0 0x010d
+#define WCD934X_CPE_FLL_DSM_FRAC_CTL_1 0x010e
+#define WCD934X_CPE_FLL_CONFIG_CTL_0 0x010f
+#define WCD934X_CPE_FLL_CONFIG_CTL_1 0x0110
+#define WCD934X_CPE_FLL_CONFIG_CTL_2 0x0111
+#define WCD934X_CPE_FLL_CONFIG_CTL_3 0x0112
+#define WCD934X_CPE_FLL_CONFIG_CTL_4 0x0113
+#define WCD934X_CPE_FLL_TEST_CTL_0 0x0114
+#define WCD934X_CPE_FLL_TEST_CTL_1 0x0115
+#define WCD934X_CPE_FLL_TEST_CTL_2 0x0116
+#define WCD934X_CPE_FLL_TEST_CTL_3 0x0117
+#define WCD934X_CPE_FLL_TEST_CTL_4 0x0118
+#define WCD934X_CPE_FLL_TEST_CTL_5 0x0119
+#define WCD934X_CPE_FLL_TEST_CTL_6 0x011a
+#define WCD934X_CPE_FLL_TEST_CTL_7 0x011b
+#define WCD934X_CPE_FLL_FREQ_CTL_0 0x011c
+#define WCD934X_CPE_FLL_FREQ_CTL_1 0x011d
+#define WCD934X_CPE_FLL_FREQ_CTL_2 0x011e
+#define WCD934X_CPE_FLL_FREQ_CTL_3 0x011f
+#define WCD934X_CPE_FLL_SSC_CTL_0 0x0120
+#define WCD934X_CPE_FLL_SSC_CTL_1 0x0121
+#define WCD934X_CPE_FLL_SSC_CTL_2 0x0122
+#define WCD934X_CPE_FLL_SSC_CTL_3 0x0123
+#define WCD934X_CPE_FLL_FLL_MODE 0x0124
+#define WCD934X_CPE_FLL_STATUS_0 0x0125
+#define WCD934X_CPE_FLL_STATUS_1 0x0126
+#define WCD934X_CPE_FLL_STATUS_2 0x0127
+#define WCD934X_CPE_FLL_STATUS_3 0x0128
+#define WCD934X_I2S_FLL_USER_CTL_0 0x0141
+#define WCD934X_I2S_FLL_USER_CTL_1 0x0142
+#define WCD934X_I2S_FLL_USER_CTL_2 0x0143
+#define WCD934X_I2S_FLL_USER_CTL_3 0x0144
+#define WCD934X_I2S_FLL_USER_CTL_4 0x0145
+#define WCD934X_I2S_FLL_USER_CTL_5 0x0146
+#define WCD934X_I2S_FLL_USER_CTL_6 0x0147
+#define WCD934X_I2S_FLL_USER_CTL_7 0x0148
+#define WCD934X_I2S_FLL_USER_CTL_8 0x0149
+#define WCD934X_I2S_FLL_USER_CTL_9 0x014a
+#define WCD934X_I2S_FLL_L_VAL_CTL_0 0x014b
+#define WCD934X_I2S_FLL_L_VAL_CTL_1 0x014c
+#define WCD934X_I2S_FLL_DSM_FRAC_CTL_0 0x014d
+#define WCD934X_I2S_FLL_DSM_FRAC_CTL_1 0x014e
+#define WCD934X_I2S_FLL_CONFIG_CTL_0 0x014f
+#define WCD934X_I2S_FLL_CONFIG_CTL_1 0x0150
+#define WCD934X_I2S_FLL_CONFIG_CTL_2 0x0151
+#define WCD934X_I2S_FLL_CONFIG_CTL_3 0x0152
+#define WCD934X_I2S_FLL_CONFIG_CTL_4 0x0153
+#define WCD934X_I2S_FLL_TEST_CTL_0 0x0154
+#define WCD934X_I2S_FLL_TEST_CTL_1 0x0155
+#define WCD934X_I2S_FLL_TEST_CTL_2 0x0156
+#define WCD934X_I2S_FLL_TEST_CTL_3 0x0157
+#define WCD934X_I2S_FLL_TEST_CTL_4 0x0158
+#define WCD934X_I2S_FLL_TEST_CTL_5 0x0159
+#define WCD934X_I2S_FLL_TEST_CTL_6 0x015a
+#define WCD934X_I2S_FLL_TEST_CTL_7 0x015b
+#define WCD934X_I2S_FLL_FREQ_CTL_0 0x015c
+#define WCD934X_I2S_FLL_FREQ_CTL_1 0x015d
+#define WCD934X_I2S_FLL_FREQ_CTL_2 0x015e
+#define WCD934X_I2S_FLL_FREQ_CTL_3 0x015f
+#define WCD934X_I2S_FLL_SSC_CTL_0 0x0160
+#define WCD934X_I2S_FLL_SSC_CTL_1 0x0161
+#define WCD934X_I2S_FLL_SSC_CTL_2 0x0162
+#define WCD934X_I2S_FLL_SSC_CTL_3 0x0163
+#define WCD934X_I2S_FLL_FLL_MODE 0x0164
+#define WCD934X_I2S_FLL_STATUS_0 0x0165
+#define WCD934X_I2S_FLL_STATUS_1 0x0166
+#define WCD934X_I2S_FLL_STATUS_2 0x0167
+#define WCD934X_I2S_FLL_STATUS_3 0x0168
+#define WCD934X_SB_FLL_USER_CTL_0 0x0181
+#define WCD934X_SB_FLL_USER_CTL_1 0x0182
+#define WCD934X_SB_FLL_USER_CTL_2 0x0183
+#define WCD934X_SB_FLL_USER_CTL_3 0x0184
+#define WCD934X_SB_FLL_USER_CTL_4 0x0185
+#define WCD934X_SB_FLL_USER_CTL_5 0x0186
+#define WCD934X_SB_FLL_USER_CTL_6 0x0187
+#define WCD934X_SB_FLL_USER_CTL_7 0x0188
+#define WCD934X_SB_FLL_USER_CTL_8 0x0189
+#define WCD934X_SB_FLL_USER_CTL_9 0x018a
+#define WCD934X_SB_FLL_L_VAL_CTL_0 0x018b
+#define WCD934X_SB_FLL_L_VAL_CTL_1 0x018c
+#define WCD934X_SB_FLL_DSM_FRAC_CTL_0 0x018d
+#define WCD934X_SB_FLL_DSM_FRAC_CTL_1 0x018e
+#define WCD934X_SB_FLL_CONFIG_CTL_0 0x018f
+#define WCD934X_SB_FLL_CONFIG_CTL_1 0x0190
+#define WCD934X_SB_FLL_CONFIG_CTL_2 0x0191
+#define WCD934X_SB_FLL_CONFIG_CTL_3 0x0192
+#define WCD934X_SB_FLL_CONFIG_CTL_4 0x0193
+#define WCD934X_SB_FLL_TEST_CTL_0 0x0194
+#define WCD934X_SB_FLL_TEST_CTL_1 0x0195
+#define WCD934X_SB_FLL_TEST_CTL_2 0x0196
+#define WCD934X_SB_FLL_TEST_CTL_3 0x0197
+#define WCD934X_SB_FLL_TEST_CTL_4 0x0198
+#define WCD934X_SB_FLL_TEST_CTL_5 0x0199
+#define WCD934X_SB_FLL_TEST_CTL_6 0x019a
+#define WCD934X_SB_FLL_TEST_CTL_7 0x019b
+#define WCD934X_SB_FLL_FREQ_CTL_0 0x019c
+#define WCD934X_SB_FLL_FREQ_CTL_1 0x019d
+#define WCD934X_SB_FLL_FREQ_CTL_2 0x019e
+#define WCD934X_SB_FLL_FREQ_CTL_3 0x019f
+#define WCD934X_SB_FLL_SSC_CTL_0 0x01a0
+#define WCD934X_SB_FLL_SSC_CTL_1 0x01a1
+#define WCD934X_SB_FLL_SSC_CTL_2 0x01a2
+#define WCD934X_SB_FLL_SSC_CTL_3 0x01a3
+#define WCD934X_SB_FLL_FLL_MODE 0x01a4
+#define WCD934X_SB_FLL_STATUS_0 0x01a5
+#define WCD934X_SB_FLL_STATUS_1 0x01a6
+#define WCD934X_SB_FLL_STATUS_2 0x01a7
+#define WCD934X_SB_FLL_STATUS_3 0x01a8
+#define WCD934X_PAGE2_PAGE_REGISTER 0x0200
+#define WCD934X_CPE_SS_CPE_CTL 0x0201
+#define WCD934X_CPE_SS_PWR_SYS_PSTATE_CTL_0 0x0202
+#define WCD934X_CPE_SS_PWR_SYS_PSTATE_CTL_1 0x0203
+#define WCD934X_CPE_SS_PWR_CPEFLL_CTL 0x0204
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_0 0x0205
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_1 0x0206
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_OVERRIDE 0x0207
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_0 0x0208
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_1 0x0209
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_2 0x020a
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_3 0x020b
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_4 0x020c
+#define WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_5 0x020d
+#define WCD934X_CPE_SS_PWR_CPE_DRAM1_SHUTDOWN 0x020e
+#define WCD934X_CPE_SS_SOC_SW_COLLAPSE_CTL 0x020f
+#define WCD934X_CPE_SS_SOC_SW_COLLAPSE_OVERRIDE_CTL 0x0210
+#define WCD934X_CPE_SS_SOC_SW_COLLAPSE_OVERRIDE_CTL1 0x0211
+#define WCD934X_CPE_SS_US_BUF_INT_PERIOD 0x0212
+#define WCD934X_CPE_SS_CPARMAD_BUFRDY_INT_PERIOD 0x0213
+#define WCD934X_CPE_SS_SVA_CFG 0x0214
+#define WCD934X_CPE_SS_US_CFG 0x0215
+#define WCD934X_CPE_SS_MAD_CTL 0x0216
+#define WCD934X_CPE_SS_CPAR_CTL 0x0217
+#define WCD934X_CPE_SS_DMIC0_CTL 0x0218
+#define WCD934X_CPE_SS_DMIC1_CTL 0x0219
+#define WCD934X_CPE_SS_DMIC2_CTL 0x021a
+#define WCD934X_CPE_SS_DMIC_CFG 0x021b
+#define WCD934X_CPE_SS_CPAR_CFG 0x021c
+#define WCD934X_CPE_SS_WDOG_CFG 0x021d
+#define WCD934X_CPE_SS_BACKUP_INT 0x021e
+#define WCD934X_CPE_SS_STATUS 0x021f
+#define WCD934X_CPE_SS_CPE_OCD_CFG 0x0220
+#define WCD934X_CPE_SS_SS_ERROR_INT_MASK_0A 0x0221
+#define WCD934X_CPE_SS_SS_ERROR_INT_MASK_0B 0x0222
+#define WCD934X_CPE_SS_SS_ERROR_INT_MASK_1A 0x0223
+#define WCD934X_CPE_SS_SS_ERROR_INT_MASK_1B 0x0224
+#define WCD934X_CPE_SS_SS_ERROR_INT_STATUS_0A 0x0225
+#define WCD934X_CPE_SS_SS_ERROR_INT_STATUS_0B 0x0226
+#define WCD934X_CPE_SS_SS_ERROR_INT_STATUS_1A 0x0227
+#define WCD934X_CPE_SS_SS_ERROR_INT_STATUS_1B 0x0228
+#define WCD934X_CPE_SS_SS_ERROR_INT_CLEAR_0A 0x0229
+#define WCD934X_CPE_SS_SS_ERROR_INT_CLEAR_0B 0x022a
+#define WCD934X_CPE_SS_SS_ERROR_INT_CLEAR_1A 0x022b
+#define WCD934X_CPE_SS_SS_ERROR_INT_CLEAR_1B 0x022c
+#define WCD934X_SOC_MAD_MAIN_CTL_1 0x0281
+#define WCD934X_SOC_MAD_MAIN_CTL_2 0x0282
+#define WCD934X_SOC_MAD_AUDIO_CTL_1 0x0283
+#define WCD934X_SOC_MAD_AUDIO_CTL_2 0x0284
+#define WCD934X_SOC_MAD_AUDIO_CTL_3 0x0285
+#define WCD934X_SOC_MAD_AUDIO_CTL_4 0x0286
+#define WCD934X_SOC_MAD_AUDIO_CTL_5 0x0287
+#define WCD934X_SOC_MAD_AUDIO_CTL_6 0x0288
+#define WCD934X_SOC_MAD_AUDIO_CTL_7 0x0289
+#define WCD934X_SOC_MAD_AUDIO_CTL_8 0x028a
+#define WCD934X_SOC_MAD_AUDIO_IIR_CTL_PTR 0x028b
+#define WCD934X_SOC_MAD_AUDIO_IIR_CTL_VAL 0x028c
+#define WCD934X_SOC_MAD_ULTR_CTL_1 0x028d
+#define WCD934X_SOC_MAD_ULTR_CTL_2 0x028e
+#define WCD934X_SOC_MAD_ULTR_CTL_3 0x028f
+#define WCD934X_SOC_MAD_ULTR_CTL_4 0x0290
+#define WCD934X_SOC_MAD_ULTR_CTL_5 0x0291
+#define WCD934X_SOC_MAD_ULTR_CTL_6 0x0292
+#define WCD934X_SOC_MAD_ULTR_CTL_7 0x0293
+#define WCD934X_SOC_MAD_BEACON_CTL_1 0x0294
+#define WCD934X_SOC_MAD_BEACON_CTL_2 0x0295
+#define WCD934X_SOC_MAD_BEACON_CTL_3 0x0296
+#define WCD934X_SOC_MAD_BEACON_CTL_4 0x0297
+#define WCD934X_SOC_MAD_BEACON_CTL_5 0x0298
+#define WCD934X_SOC_MAD_BEACON_CTL_6 0x0299
+#define WCD934X_SOC_MAD_BEACON_CTL_7 0x029a
+#define WCD934X_SOC_MAD_BEACON_CTL_8 0x029b
+#define WCD934X_SOC_MAD_BEACON_IIR_CTL_PTR 0x029c
+#define WCD934X_SOC_MAD_BEACON_IIR_CTL_VAL 0x029d
+#define WCD934X_SOC_MAD_INP_SEL 0x029e
+#define WCD934X_PAGE4_PAGE_REGISTER 0x0400
+#define WCD934X_INTR_CFG 0x0401
+#define WCD934X_INTR_CLR_COMMIT 0x0402
+#define WCD934X_INTR_PIN1_MASK0 0x0409
+#define WCD934X_INTR_PIN1_MASK1 0x040a
+#define WCD934X_INTR_PIN1_MASK2 0x040b
+#define WCD934X_INTR_PIN1_MASK3 0x040c
+#define WCD934X_INTR_PIN1_STATUS0 0x0411
+#define WCD934X_INTR_PIN1_STATUS1 0x0412
+#define WCD934X_INTR_PIN1_STATUS2 0x0413
+#define WCD934X_INTR_PIN1_STATUS3 0x0414
+#define WCD934X_INTR_PIN1_CLEAR0 0x0419
+#define WCD934X_INTR_PIN1_CLEAR1 0x041a
+#define WCD934X_INTR_PIN1_CLEAR2 0x041b
+#define WCD934X_INTR_PIN1_CLEAR3 0x041c
+#define WCD934X_INTR_PIN2_MASK3 0x0424
+#define WCD934X_INTR_PIN2_STATUS3 0x042c
+#define WCD934X_INTR_PIN2_CLEAR3 0x0434
+#define WCD934X_INTR_CPESS_SUMRY_MASK2 0x043b
+#define WCD934X_INTR_CPESS_SUMRY_MASK3 0x043c
+#define WCD934X_INTR_CPESS_SUMRY_STATUS2 0x0443
+#define WCD934X_INTR_CPESS_SUMRY_STATUS3 0x0444
+#define WCD934X_INTR_CPESS_SUMRY_CLEAR2 0x044b
+#define WCD934X_INTR_CPESS_SUMRY_CLEAR3 0x044c
+#define WCD934X_INTR_LEVEL0 0x0461
+#define WCD934X_INTR_LEVEL1 0x0462
+#define WCD934X_INTR_LEVEL2 0x0463
+#define WCD934X_INTR_LEVEL3 0x0464
+#define WCD934X_INTR_BYPASS0 0x0469
+#define WCD934X_INTR_BYPASS1 0x046a
+#define WCD934X_INTR_BYPASS2 0x046b
+#define WCD934X_INTR_BYPASS3 0x046c
+#define WCD934X_INTR_SET0 0x0471
+#define WCD934X_INTR_SET1 0x0472
+#define WCD934X_INTR_SET2 0x0473
+#define WCD934X_INTR_SET3 0x0474
+#define WCD934X_INTR_CODEC_MISC_MASK 0x04b1
+#define WCD934X_INTR_CODEC_MISC_STATUS 0x04b2
+#define WCD934X_INTR_CODEC_MISC_CLEAR 0x04b3
+#define WCD934X_PAGE5_PAGE_REGISTER 0x0500
+#define WCD934X_SLNQ_DIG_DEVICE 0x0501
+#define WCD934X_SLNQ_DIG_REVISION 0x0502
+#define WCD934X_SLNQ_DIG_H_COMMAND 0x0511
+#define WCD934X_SLNQ_DIG_NUMBER_OF_BYTE_MSB 0x0512
+#define WCD934X_SLNQ_DIG_NUMBER_OF_BYTE_LSB 0x0513
+#define WCD934X_SLNQ_DIG_MASTER_ADDRESS_MSB 0x0514
+#define WCD934X_SLNQ_DIG_MASTER_ADDRESS_LSB 0x0515
+#define WCD934X_SLNQ_DIG_SLAVE_ADDRESS_MSB 0x0516
+#define WCD934X_SLNQ_DIG_SLAVE_ADDRESS_LSB 0x0517
+#define WCD934X_SLNQ_DIG_TIMER0_INTERRUPT_MSB 0x0518
+#define WCD934X_SLNQ_DIG_TIMER0_INTERRUPT_LSB 0x0519
+#define WCD934X_SLNQ_DIG_TIMER1_INTERRUPT_MSB 0x051a
+#define WCD934X_SLNQ_DIG_TIMER1_INTERRUPT_LSB 0x051b
+#define WCD934X_SLNQ_DIG_TIMER2_INTERRUPT_MSB 0x051c
+#define WCD934X_SLNQ_DIG_TIMER2_INTERRUPT_LSB 0x051d
+#define WCD934X_SLNQ_DIG_COMM_CTL 0x0520
+#define WCD934X_SLNQ_DIG_FRAME_CTRL 0x0542
+#define WCD934X_SLNQ_DIG_PDM_2ND_DATA_CH1_2 0x055c
+#define WCD934X_SLNQ_DIG_PDM_2ND_DATA_CH3_4 0x055d
+#define WCD934X_SLNQ_DIG_PDM_2ND_DATA_CH5 0x055e
+#define WCD934X_SLNQ_DIG_SW_EVENT_RD 0x0561
+#define WCD934X_SLNQ_DIG_SW_EVENT_CTRL 0x0562
+#define WCD934X_SLNQ_DIG_PDM_SELECT_1 0x0563
+#define WCD934X_SLNQ_DIG_PDM_SELECT_2 0x0564
+#define WCD934X_SLNQ_DIG_PDM_SELECT_3 0x0565
+#define WCD934X_SLNQ_DIG_PDM_SAMPLING_FREQ 0x0566
+#define WCD934X_SLNQ_DIG_PDM_DC_CONVERSION_CTL 0x0569
+#define WCD934X_SLNQ_DIG_PDM_DC_CONVERSION_SEL 0x056a
+#define WCD934X_SLNQ_DIG_PDM_DC_CONV_CHA_MSB 0x056b
+#define WCD934X_SLNQ_DIG_PDM_DC_CONV_CHA_LSB 0x056c
+#define WCD934X_SLNQ_DIG_PDM_DC_CONV_CHB_MSB 0x056d
+#define WCD934X_SLNQ_DIG_PDM_DC_CONV_CHB_LSB 0x056e
+#define WCD934X_SLNQ_DIG_RAM_CNTRL 0x0571
+#define WCD934X_SLNQ_DIG_SRAM_BANK 0x0572
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_0 0x0573
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1 0x0574
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2 0x0575
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3 0x0576
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_4 0x0577
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_5 0x0578
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_6 0x0579
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_7 0x057a
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_8 0x057b
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_9 0x057c
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_A 0x057d
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_B 0x057e
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_C 0x057f
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_D 0x0580
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_E 0x0581
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_F 0x0582
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_10 0x0583
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_11 0x0584
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_12 0x0585
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_13 0x0586
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_14 0x0587
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_15 0x0588
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_16 0x0589
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_17 0x058a
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_18 0x058b
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_19 0x058c
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1A 0x058d
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1B 0x058e
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1C 0x058f
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1D 0x0590
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1E 0x0591
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_1F 0x0592
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_20 0x0593
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_21 0x0594
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_22 0x0595
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_23 0x0596
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_24 0x0597
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_25 0x0598
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_26 0x0599
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_27 0x059a
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_28 0x059b
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_29 0x059c
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2A 0x059d
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2B 0x059e
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2C 0x059f
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2D 0x05a0
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2E 0x05a1
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_2F 0x05a2
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_30 0x05a3
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_31 0x05a4
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_32 0x05a5
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_33 0x05a6
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_34 0x05a7
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_35 0x05a8
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_36 0x05a9
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_37 0x05aa
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_38 0x05ab
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_39 0x05ac
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3A 0x05ad
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3B 0x05ae
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3C 0x05af
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3D 0x05b0
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3E 0x05b1
+#define WCD934X_SLNQ_DIG_SRAM_BYTE_3F 0x05b2
+#define WCD934X_SLNQ_DIG_TOP_CTRL1 0x05b3
+#define WCD934X_SLNQ_DIG_TOP_CTRL2 0x05b4
+#define WCD934X_SLNQ_DIG_PDM_CTRL 0x05b5
+#define WCD934X_SLNQ_DIG_PDM_MUTE_CTRL 0x05b6
+#define WCD934X_SLNQ_DIG_DEC_BYPASS_CTRL 0x05b7
+#define WCD934X_SLNQ_DIG_DEC_BYPASS_STATUS 0x05b8
+#define WCD934X_SLNQ_DIG_DEC_BYPASS_FS 0x05b9
+#define WCD934X_SLNQ_DIG_DEC_BYPASS_IN_SEL 0x05ba
+#define WCD934X_SLNQ_DIG_GPOUT_ENABLE 0x05bb
+#define WCD934X_SLNQ_DIG_GPOUT_VAL 0x05bc
+#define WCD934X_SLNQ_DIG_ANA_INTERRUPT_MASK 0x05be
+#define WCD934X_SLNQ_DIG_ANA_INTERRUPT_STATUS 0x05bf
+#define WCD934X_SLNQ_DIG_ANA_INTERRUPT_CLR 0x05c0
+#define WCD934X_SLNQ_DIG_IP_TESTING 0x05c1
+#define WCD934X_SLNQ_DIG_INTERRUPT_CNTRL 0x05e3
+#define WCD934X_SLNQ_DIG_INTERRUPT_CNT 0x05e9
+#define WCD934X_SLNQ_DIG_INTERRUPT_CNT_MSB 0x05eb
+#define WCD934X_SLNQ_DIG_INTERRUPT_CNT_LSB 0x05ec
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK0 0x05f1
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK1 0x05f2
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK2 0x05f3
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK3 0x05f4
+#define WCD934X_SLNQ_DIG_INTERRUPT_MASK4 0x05f5
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS0 0x05f6
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS1 0x05f7
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS2 0x05f8
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS3 0x05f9
+#define WCD934X_SLNQ_DIG_INTERRUPT_STATUS4 0x05fa
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR0 0x05fb
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR1 0x05fc
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR2 0x05fd
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR3 0x05fe
+#define WCD934X_SLNQ_DIG_INTERRUPT_CLR4 0x05ff
+#define WCD934X_ANA_PAGE_REGISTER 0x0600
+#define WCD934X_ANA_BIAS 0x0601
+#define WCD934X_ANA_RCO 0x0603
+#define WCD934X_ANA_PAGE6_SPARE2 0x0604
+#define WCD934X_ANA_PAGE6_SPARE3 0x0605
+#define WCD934X_ANA_BUCK_CTL 0x0606
+#define WCD934X_ANA_BUCK_STATUS 0x0607
+#define WCD934X_ANA_RX_SUPPLIES 0x0608
+#define WCD934X_ANA_HPH 0x0609
+#define WCD934X_ANA_EAR 0x060a
+#define WCD934X_ANA_LO_1_2 0x060b
+#define WCD934X_ANA_MAD_SETUP 0x060d
+#define WCD934X_ANA_AMIC1 0x060e
+#define WCD934X_ANA_AMIC2 0x060f
+#define WCD934X_ANA_AMIC3 0x0610
+#define WCD934X_ANA_AMIC4 0x0611
+#define WCD934X_ANA_MBHC_MECH 0x0614
+#define WCD934X_ANA_MBHC_ELECT 0x0615
+#define WCD934X_ANA_MBHC_ZDET 0x0616
+#define WCD934X_ANA_MBHC_RESULT_1 0x0617
+#define WCD934X_ANA_MBHC_RESULT_2 0x0618
+#define WCD934X_ANA_MBHC_RESULT_3 0x0619
+#define WCD934X_ANA_MBHC_BTN0 0x061a
+#define WCD934X_ANA_MBHC_BTN1 0x061b
+#define WCD934X_ANA_MBHC_BTN2 0x061c
+#define WCD934X_ANA_MBHC_BTN3 0x061d
+#define WCD934X_ANA_MBHC_BTN4 0x061e
+#define WCD934X_ANA_MBHC_BTN5 0x061f
+#define WCD934X_ANA_MBHC_BTN6 0x0620
+#define WCD934X_ANA_MBHC_BTN7 0x0621
+#define WCD934X_ANA_MICB1 0x0622
+#define WCD934X_ANA_MICB2 0x0623
+#define WCD934X_ANA_MICB2_RAMP 0x0624
+#define WCD934X_ANA_MICB3 0x0625
+#define WCD934X_ANA_MICB4 0x0626
+#define WCD934X_ANA_VBADC 0x0627
+#define WCD934X_BIAS_CTL 0x0628
+#define WCD934X_BIAS_VBG_FINE_ADJ 0x0629
+#define WCD934X_RCO_CTRL_1 0x062e
+#define WCD934X_RCO_CTRL_2 0x062f
+#define WCD934X_RCO_CAL 0x0630
+#define WCD934X_RCO_CAL_1 0x0631
+#define WCD934X_RCO_CAL_2 0x0632
+#define WCD934X_RCO_TEST_CTRL 0x0633
+#define WCD934X_RCO_CAL_OUT_1 0x0634
+#define WCD934X_RCO_CAL_OUT_2 0x0635
+#define WCD934X_RCO_CAL_OUT_3 0x0636
+#define WCD934X_RCO_CAL_OUT_4 0x0637
+#define WCD934X_RCO_CAL_OUT_5 0x0638
+#define WCD934X_SIDO_MODE_1 0x063a
+#define WCD934X_SIDO_MODE_2 0x063b
+#define WCD934X_SIDO_MODE_3 0x063c
+#define WCD934X_SIDO_MODE_4 0x063d
+#define WCD934X_SIDO_VCL_1 0x063e
+#define WCD934X_SIDO_VCL_2 0x063f
+#define WCD934X_SIDO_VCL_3 0x0640
+#define WCD934X_SIDO_CCL_1 0x0641
+#define WCD934X_SIDO_CCL_2 0x0642
+#define WCD934X_SIDO_CCL_3 0x0643
+#define WCD934X_SIDO_CCL_4 0x0644
+#define WCD934X_SIDO_CCL_5 0x0645
+#define WCD934X_SIDO_CCL_6 0x0646
+#define WCD934X_SIDO_CCL_7 0x0647
+#define WCD934X_SIDO_CCL_8 0x0648
+#define WCD934X_SIDO_CCL_9 0x0649
+#define WCD934X_SIDO_CCL_10 0x064a
+#define WCD934X_SIDO_FILTER_1 0x064b
+#define WCD934X_SIDO_FILTER_2 0x064c
+#define WCD934X_SIDO_DRIVER_1 0x064d
+#define WCD934X_SIDO_DRIVER_2 0x064e
+#define WCD934X_SIDO_DRIVER_3 0x064f
+#define WCD934X_SIDO_CAL_CODE_EXT_1 0x0650
+#define WCD934X_SIDO_CAL_CODE_EXT_2 0x0651
+#define WCD934X_SIDO_CAL_CODE_OUT_1 0x0652
+#define WCD934X_SIDO_CAL_CODE_OUT_2 0x0653
+#define WCD934X_SIDO_TEST_1 0x0654
+#define WCD934X_SIDO_TEST_2 0x0655
+#define WCD934X_MBHC_CTL_CLK 0x0656
+#define WCD934X_MBHC_CTL_ANA 0x0657
+#define WCD934X_MBHC_CTL_SPARE_1 0x0658
+#define WCD934X_MBHC_CTL_SPARE_2 0x0659
+#define WCD934X_MBHC_CTL_BCS 0x065a
+#define WCD934X_MBHC_STATUS_SPARE_1 0x065b
+#define WCD934X_MBHC_TEST_CTL 0x065c
+#define WCD934X_VBADC_SUBBLOCK_EN 0x065d
+#define WCD934X_VBADC_IBIAS_FE 0x065e
+#define WCD934X_VBADC_BIAS_ADC 0x065f
+#define WCD934X_VBADC_FE_CTRL 0x0660
+#define WCD934X_VBADC_ADC_REF 0x0661
+#define WCD934X_VBADC_ADC_IO 0x0662
+#define WCD934X_VBADC_ADC_SAR 0x0663
+#define WCD934X_VBADC_DEBUG 0x0664
+#define WCD934X_LDOH_MODE 0x0667
+#define WCD934X_LDOH_BIAS 0x0668
+#define WCD934X_LDOH_STB_LOADS 0x0669
+#define WCD934X_LDOH_SLOWRAMP 0x066a
+#define WCD934X_MICB1_TEST_CTL_1 0x066b
+#define WCD934X_MICB1_TEST_CTL_2 0x066c
+#define WCD934X_MICB1_TEST_CTL_3 0x066d
+#define WCD934X_MICB2_TEST_CTL_1 0x066e
+#define WCD934X_MICB2_TEST_CTL_2 0x066f
+#define WCD934X_MICB2_TEST_CTL_3 0x0670
+#define WCD934X_MICB3_TEST_CTL_1 0x0671
+#define WCD934X_MICB3_TEST_CTL_2 0x0672
+#define WCD934X_MICB3_TEST_CTL_3 0x0673
+#define WCD934X_MICB4_TEST_CTL_1 0x0674
+#define WCD934X_MICB4_TEST_CTL_2 0x0675
+#define WCD934X_MICB4_TEST_CTL_3 0x0676
+#define WCD934X_TX_COM_ADC_VCM 0x0677
+#define WCD934X_TX_COM_BIAS_ATEST 0x0678
+#define WCD934X_TX_COM_ADC_INT1_IB 0x0679
+#define WCD934X_TX_COM_ADC_INT2_IB 0x067a
+#define WCD934X_TX_COM_TXFE_DIV_CTL 0x067b
+#define WCD934X_TX_COM_TXFE_DIV_START 0x067c
+#define WCD934X_TX_COM_TXFE_DIV_STOP_9P6M 0x067d
+#define WCD934X_TX_COM_TXFE_DIV_STOP_12P288M 0x067e
+#define WCD934X_TX_1_2_TEST_EN 0x067f
+#define WCD934X_TX_1_2_ADC_IB 0x0680
+#define WCD934X_TX_1_2_ATEST_REFCTL 0x0681
+#define WCD934X_TX_1_2_TEST_CTL 0x0682
+#define WCD934X_TX_1_2_TEST_BLK_EN 0x0683
+#define WCD934X_TX_1_2_TXFE_CLKDIV 0x0684
+#define WCD934X_TX_1_2_SAR1_ERR 0x0685
+#define WCD934X_TX_1_2_SAR2_ERR 0x0686
+#define WCD934X_TX_3_4_TEST_EN 0x0687
+#define WCD934X_TX_3_4_ADC_IB 0x0688
+#define WCD934X_TX_3_4_ATEST_REFCTL 0x0689
+#define WCD934X_TX_3_4_TEST_CTL 0x068a
+#define WCD934X_TX_3_4_TEST_BLK_EN 0x068b
+#define WCD934X_TX_3_4_TXFE_CLKDIV 0x068c
+#define WCD934X_TX_3_4_SAR1_ERR 0x068d
+#define WCD934X_TX_3_4_SAR2_ERR 0x068e
+#define WCD934X_CLASSH_MODE_1 0x0697
+#define WCD934X_CLASSH_MODE_2 0x0698
+#define WCD934X_CLASSH_MODE_3 0x0699
+#define WCD934X_CLASSH_CTRL_VCL_1 0x069a
+#define WCD934X_CLASSH_CTRL_VCL_2 0x069b
+#define WCD934X_CLASSH_CTRL_CCL_1 0x069c
+#define WCD934X_CLASSH_CTRL_CCL_2 0x069d
+#define WCD934X_CLASSH_CTRL_CCL_3 0x069e
+#define WCD934X_CLASSH_CTRL_CCL_4 0x069f
+#define WCD934X_CLASSH_CTRL_CCL_5 0x06a0
+#define WCD934X_CLASSH_BUCK_TMUX_A_D 0x06a1
+#define WCD934X_CLASSH_BUCK_SW_DRV_CNTL 0x06a2
+#define WCD934X_CLASSH_SPARE 0x06a3
+#define WCD934X_FLYBACK_EN 0x06a4
+#define WCD934X_FLYBACK_VNEG_CTRL_1 0x06a5
+#define WCD934X_FLYBACK_VNEG_CTRL_2 0x06a6
+#define WCD934X_FLYBACK_VNEG_CTRL_3 0x06a7
+#define WCD934X_FLYBACK_VNEG_CTRL_4 0x06a8
+#define WCD934X_FLYBACK_VNEG_CTRL_5 0x06a9
+#define WCD934X_FLYBACK_VNEG_CTRL_6 0x06aa
+#define WCD934X_FLYBACK_VNEG_CTRL_7 0x06ab
+#define WCD934X_FLYBACK_VNEG_CTRL_8 0x06ac
+#define WCD934X_FLYBACK_VNEG_CTRL_9 0x06ad
+#define WCD934X_FLYBACK_VNEGDAC_CTRL_1 0x06ae
+#define WCD934X_FLYBACK_VNEGDAC_CTRL_2 0x06af
+#define WCD934X_FLYBACK_VNEGDAC_CTRL_3 0x06b0
+#define WCD934X_FLYBACK_CTRL_1 0x06b1
+#define WCD934X_FLYBACK_TEST_CTL 0x06b2
+#define WCD934X_RX_AUX_SW_CTL 0x06b3
+#define WCD934X_RX_PA_AUX_IN_CONN 0x06b4
+#define WCD934X_RX_TIMER_DIV 0x06b5
+#define WCD934X_RX_OCP_CTL 0x06b6
+#define WCD934X_RX_OCP_COUNT 0x06b7
+#define WCD934X_RX_BIAS_EAR_DAC 0x06b8
+#define WCD934X_RX_BIAS_EAR_AMP 0x06b9
+#define WCD934X_RX_BIAS_HPH_LDO 0x06ba
+#define WCD934X_RX_BIAS_HPH_PA 0x06bb
+#define WCD934X_RX_BIAS_HPH_RDACBUFF_CNP2 0x06bc
+#define WCD934X_RX_BIAS_HPH_RDAC_LDO 0x06bd
+#define WCD934X_RX_BIAS_HPH_CNP1 0x06be
+#define WCD934X_RX_BIAS_HPH_LOWPOWER 0x06bf
+#define WCD934X_RX_BIAS_DIFFLO_PA 0x06c0
+#define WCD934X_RX_BIAS_DIFFLO_REF 0x06c1
+#define WCD934X_RX_BIAS_DIFFLO_LDO 0x06c2
+#define WCD934X_RX_BIAS_SELO_DAC_PA 0x06c3
+#define WCD934X_RX_BIAS_BUCK_RST 0x06c4
+#define WCD934X_RX_BIAS_BUCK_VREF_ERRAMP 0x06c5
+#define WCD934X_RX_BIAS_FLYB_ERRAMP 0x06c6
+#define WCD934X_RX_BIAS_FLYB_BUFF 0x06c7
+#define WCD934X_RX_BIAS_FLYB_MID_RST 0x06c8
+#define WCD934X_HPH_L_STATUS 0x06c9
+#define WCD934X_HPH_R_STATUS 0x06ca
+#define WCD934X_HPH_CNP_EN 0x06cb
+#define WCD934X_HPH_CNP_WG_CTL 0x06cc
+#define WCD934X_HPH_CNP_WG_TIME 0x06cd
+#define WCD934X_HPH_OCP_CTL 0x06ce
+#define WCD934X_HPH_AUTO_CHOP 0x06cf
+#define WCD934X_HPH_CHOP_CTL 0x06d0
+#define WCD934X_HPH_PA_CTL1 0x06d1
+#define WCD934X_HPH_PA_CTL2 0x06d2
+#define WCD934X_HPH_L_EN 0x06d3
+#define WCD934X_HPH_L_TEST 0x06d4
+#define WCD934X_HPH_L_ATEST 0x06d5
+#define WCD934X_HPH_R_EN 0x06d6
+#define WCD934X_HPH_R_TEST 0x06d7
+#define WCD934X_HPH_R_ATEST 0x06d8
+#define WCD934X_HPH_RDAC_CLK_CTL1 0x06d9
+#define WCD934X_HPH_RDAC_CLK_CTL2 0x06da
+#define WCD934X_HPH_RDAC_LDO_CTL 0x06db
+#define WCD934X_HPH_RDAC_CHOP_CLK_LP_CTL 0x06dc
+#define WCD934X_HPH_REFBUFF_UHQA_CTL 0x06dd
+#define WCD934X_HPH_REFBUFF_LP_CTL 0x06de
+#define WCD934X_HPH_L_DAC_CTL 0x06df
+#define WCD934X_HPH_R_DAC_CTL 0x06e0
+#define WCD934X_EAR_EN_REG 0x06e1
+#define WCD934X_EAR_CMBUFF 0x06e2
+#define WCD934X_EAR_ICTL 0x06e3
+#define WCD934X_EAR_EN_DBG_CTL 0x06e4
+#define WCD934X_EAR_CNP 0x06e5
+#define WCD934X_EAR_DAC_CTL_ATEST 0x06e6
+#define WCD934X_EAR_STATUS_REG 0x06e7
+#define WCD934X_EAR_EAR_MISC 0x06e8
+#define WCD934X_DIFF_LO_MISC 0x06e9
+#define WCD934X_DIFF_LO_LO2_COMPANDER 0x06ea
+#define WCD934X_DIFF_LO_LO1_COMPANDER 0x06eb
+#define WCD934X_DIFF_LO_COMMON 0x06ec
+#define WCD934X_DIFF_LO_BYPASS_EN 0x06ed
+#define WCD934X_DIFF_LO_CNP 0x06ee
+#define WCD934X_DIFF_LO_CORE_OUT_PROG 0x06ef
+#define WCD934X_DIFF_LO_LDO_OUT_PROG 0x06f0
+#define WCD934X_DIFF_LO_COM_SWCAP_REFBUF_FREQ 0x06f1
+#define WCD934X_DIFF_LO_COM_PA_FREQ 0x06f2
+#define WCD934X_DIFF_LO_RESERVED_REG 0x06f3
+#define WCD934X_DIFF_LO_LO1_STATUS_1 0x06f4
+#define WCD934X_DIFF_LO_LO1_STATUS_2 0x06f5
+#define WCD934X_ANA_NEW_PAGE_REGISTER 0x0700
+#define WCD934X_HPH_NEW_ANA_HPH2 0x0701
+#define WCD934X_HPH_NEW_ANA_HPH3 0x0702
+#define WCD934X_SLNQ_ANA_EN 0x0703
+#define WCD934X_SLNQ_ANA_STATUS 0x0704
+#define WCD934X_SLNQ_ANA_LDO_CONFIG 0x0705
+#define WCD934X_SLNQ_ANA_LDO_OCP_CONFIG 0x0706
+#define WCD934X_SLNQ_ANA_TX_LDO_CONFIG 0x0707
+#define WCD934X_SLNQ_ANA_TX_DRV_CONFIG 0x0708
+#define WCD934X_SLNQ_ANA_RX_CONFIG_1 0x0709
+#define WCD934X_SLNQ_ANA_RX_CONFIG_2 0x070a
+#define WCD934X_SLNQ_ANA_PLL_ENABLES 0x070b
+#define WCD934X_SLNQ_ANA_PLL_PRESET 0x070c
+#define WCD934X_SLNQ_ANA_PLL_STATUS 0x070d
+#define WCD934X_CLK_SYS_PLL_ENABLES 0x070e
+#define WCD934X_CLK_SYS_PLL_PRESET 0x070f
+#define WCD934X_CLK_SYS_PLL_STATUS 0x0710
+#define WCD934X_CLK_SYS_MCLK_PRG 0x0711
+#define WCD934X_CLK_SYS_MCLK2_PRG1 0x0712
+#define WCD934X_CLK_SYS_MCLK2_PRG2 0x0713
+#define WCD934X_CLK_SYS_XO_PRG 0x0714
+#define WCD934X_CLK_SYS_XO_CAP_XTP 0x0715
+#define WCD934X_CLK_SYS_XO_CAP_XTM 0x0716
+#define WCD934X_BOOST_BST_EN_DLY 0x0718
+#define WCD934X_BOOST_CTRL_ILIM 0x0719
+#define WCD934X_BOOST_VOUT_SETTING 0x071a
+#define WCD934X_SIDO_NEW_VOUT_A_STARTUP 0x071b
+#define WCD934X_SIDO_NEW_VOUT_D_STARTUP 0x071c
+#define WCD934X_SIDO_NEW_VOUT_D_FREQ1 0x071d
+#define WCD934X_SIDO_NEW_VOUT_D_FREQ2 0x071e
+#define WCD934X_MBHC_NEW_ELECT_REM_CLAMP_CTL 0x071f
+#define WCD934X_MBHC_NEW_CTL_1 0x0720
+#define WCD934X_MBHC_NEW_CTL_2 0x0721
+#define WCD934X_MBHC_NEW_PLUG_DETECT_CTL 0x0722
+#define WCD934X_MBHC_NEW_ZDET_ANA_CTL 0x0723
+#define WCD934X_MBHC_NEW_ZDET_RAMP_CTL 0x0724
+#define WCD934X_MBHC_NEW_FSM_STATUS 0x0725
+#define WCD934X_MBHC_NEW_ADC_RESULT 0x0726
+#define WCD934X_TX_NEW_AMIC_4_5_SEL 0x0727
+#define WCD934X_VBADC_NEW_ADC_MODE 0x072f
+#define WCD934X_VBADC_NEW_ADC_DOUTMSB 0x0730
+#define WCD934X_VBADC_NEW_ADC_DOUTLSB 0x0731
+#define WCD934X_HPH_NEW_INT_RDAC_GAIN_CTL 0x0732
+#define WCD934X_HPH_NEW_INT_RDAC_HD2_CTL 0x0733
+#define WCD934X_HPH_NEW_INT_RDAC_VREF_CTL 0x0734
+#define WCD934X_HPH_NEW_INT_RDAC_OVERRIDE_CTL 0x0735
+#define WCD934X_HPH_NEW_INT_RDAC_MISC1 0x0736
+#define WCD934X_HPH_NEW_INT_PA_MISC1 0x0737
+#define WCD934X_HPH_NEW_INT_PA_MISC2 0x0738
+#define WCD934X_HPH_NEW_INT_PA_RDAC_MISC 0x0739
+#define WCD934X_HPH_NEW_INT_HPH_TIMER1 0x073a
+#define WCD934X_HPH_NEW_INT_HPH_TIMER2 0x073b
+#define WCD934X_HPH_NEW_INT_HPH_TIMER3 0x073c
+#define WCD934X_HPH_NEW_INT_HPH_TIMER4 0x073d
+#define WCD934X_HPH_NEW_INT_PA_RDAC_MISC2 0x073e
+#define WCD934X_HPH_NEW_INT_PA_RDAC_MISC3 0x073f
+#define WCD934X_RX_NEW_INT_HPH_RDAC_BIAS_LOHIFI 0x0745
+#define WCD934X_RX_NEW_INT_HPH_RDAC_BIAS_ULP 0x0746
+#define WCD934X_RX_NEW_INT_HPH_RDAC_LDO_LP 0x0747
+#define WCD934X_SLNQ_INT_ANA_INT_LDO_TEST 0x074b
+#define WCD934X_SLNQ_INT_ANA_INT_LDO_DEBUG_1 0x074c
+#define WCD934X_SLNQ_INT_ANA_INT_LDO_DEBUG_2 0x074d
+#define WCD934X_SLNQ_INT_ANA_INT_TX_LDO_TEST 0x074e
+#define WCD934X_SLNQ_INT_ANA_INT_TX_DRV_TEST 0x074f
+#define WCD934X_SLNQ_INT_ANA_INT_RX_TEST 0x0750
+#define WCD934X_SLNQ_INT_ANA_INT_RX_TEST_STATUS 0x0751
+#define WCD934X_SLNQ_INT_ANA_INT_RX_DEBUG_1 0x0752
+#define WCD934X_SLNQ_INT_ANA_INT_RX_DEBUG_2 0x0753
+#define WCD934X_SLNQ_INT_ANA_INT_CLK_CTRL 0x0754
+#define WCD934X_SLNQ_INT_ANA_INT_RESERVED_1 0x0755
+#define WCD934X_SLNQ_INT_ANA_INT_RESERVED_2 0x0756
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_POST_DIV_REG0 0x0757
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_POST_DIV_REG1 0x0758
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_REF_DIV_REG0 0x0759
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_REF_DIV_REG1 0x075a
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_FILTER_REG0 0x075b
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_FILTER_REG1 0x075c
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_L_VAL 0x075d
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_M_VAL 0x075e
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_N_VAL 0x075f
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_TEST_REG0 0x0760
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_PFD_CP_DSM_PROG 0x0761
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_VCO_PROG 0x0762
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_TEST_REG1 0x0763
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_LDO_LOCK_CFG 0x0764
+#define WCD934X_SLNQ_INT_ANA_INT_PLL_DIG_LOCK_DET_CFG 0x0765
+#define WCD934X_CLK_SYS_INT_POST_DIV_REG0 0x076c
+#define WCD934X_CLK_SYS_INT_POST_DIV_REG1 0x076d
+#define WCD934X_CLK_SYS_INT_REF_DIV_REG0 0x076e
+#define WCD934X_CLK_SYS_INT_REF_DIV_REG1 0x076f
+#define WCD934X_CLK_SYS_INT_FILTER_REG0 0x0770
+#define WCD934X_CLK_SYS_INT_FILTER_REG1 0x0771
+#define WCD934X_CLK_SYS_INT_PLL_L_VAL 0x0772
+#define WCD934X_CLK_SYS_INT_PLL_M_VAL 0x0773
+#define WCD934X_CLK_SYS_INT_PLL_N_VAL 0x0774
+#define WCD934X_CLK_SYS_INT_TEST_REG0 0x0775
+#define WCD934X_CLK_SYS_INT_PFD_CP_DSM_PROG 0x0776
+#define WCD934X_CLK_SYS_INT_VCO_PROG 0x0777
+#define WCD934X_CLK_SYS_INT_TEST_REG1 0x0778
+#define WCD934X_CLK_SYS_INT_LDO_LOCK_CFG 0x0779
+#define WCD934X_CLK_SYS_INT_DIG_LOCK_DET_CFG 0x077a
+#define WCD934X_CLK_SYS_INT_CLK_TEST1 0x077b
+#define WCD934X_CLK_SYS_INT_CLK_TEST2 0x077c
+#define WCD934X_CLK_SYS_INT_CLK_TEST3 0x077d
+#define WCD934X_CLK_SYS_INT_XO_TEST1 0x077e
+#define WCD934X_CLK_SYS_INT_XO_TEST2 0x077f
+#define WCD934X_BOOST_INT_VCOMP_HYST 0x0787
+#define WCD934X_BOOST_INT_VLOOP_FILTER 0x0788
+#define WCD934X_BOOST_INT_CTRL_IDELTA 0x0789
+#define WCD934X_BOOST_INT_CTRL_ILIM_STARTUP 0x078a
+#define WCD934X_BOOST_INT_CTRL_MIN_ONTIME 0x078b
+#define WCD934X_BOOST_INT_CTRL_MAX_ONTIME 0x078c
+#define WCD934X_BOOST_INT_CTRL_TIMING 0x078d
+#define WCD934X_BOOST_INT_TMUX_A_D 0x078e
+#define WCD934X_BOOST_INT_SW_DRV_CNTL 0x078f
+#define WCD934X_BOOST_INT_SPARE1 0x0790
+#define WCD934X_BOOST_INT_SPARE2 0x0791
+#define WCD934X_SIDO_NEW_INT_RAMP_STATUS 0x0796
+#define WCD934X_SIDO_NEW_INT_SPARE_1 0x0797
+#define WCD934X_SIDO_NEW_INT_DEBUG_VOUT_SETTING_A 0x0798
+#define WCD934X_SIDO_NEW_INT_DEBUG_VOUT_SETTING_D 0x0799
+#define WCD934X_SIDO_NEW_INT_RAMP_INC_WAIT 0x079a
+#define WCD934X_SIDO_NEW_INT_DYNAMIC_IPEAK_CTL 0x079b
+#define WCD934X_SIDO_NEW_INT_RAMP_IBLEED_CTL 0x079c
+#define WCD934X_SIDO_NEW_INT_DEBUG_CPROVR_TEST 0x079d
+#define WCD934X_SIDO_NEW_INT_RAMP_CTL_A 0x079e
+#define WCD934X_SIDO_NEW_INT_RAMP_CTL_D 0x079f
+#define WCD934X_SIDO_NEW_INT_RAMP_TIMEOUT_PERIOD 0x07a0
+#define WCD934X_SIDO_NEW_INT_DYNAMIC_IPEAK_SETTING1 0x07a1
+#define WCD934X_SIDO_NEW_INT_DYNAMIC_IPEAK_SETTING2 0x07a2
+#define WCD934X_SIDO_NEW_INT_DYNAMIC_IPEAK_SETTING3 0x07a3
+#define WCD934X_SIDO_NEW_INT_HIGH_ACCU_MODE_SEL1 0x07a4
+#define WCD934X_SIDO_NEW_INT_HIGH_ACCU_MODE_SEL2 0x07a5
+#define WCD934X_MBHC_NEW_INT_SLNQ_HPF 0x07af
+#define WCD934X_MBHC_NEW_INT_SLNQ_REF 0x07b0
+#define WCD934X_MBHC_NEW_INT_SLNQ_COMP 0x07b1
+#define WCD934X_MBHC_NEW_INT_SPARE_2 0x07b2
+#define WCD934X_PAGE10_PAGE_REGISTER 0x0a00
+#define WCD934X_CDC_ANC0_CLK_RESET_CTL 0x0a01
+#define WCD934X_CDC_ANC0_MODE_1_CTL 0x0a02
+#define WCD934X_CDC_ANC0_MODE_2_CTL 0x0a03
+#define WCD934X_CDC_ANC0_FF_SHIFT 0x0a04
+#define WCD934X_CDC_ANC0_FB_SHIFT 0x0a05
+#define WCD934X_CDC_ANC0_LPF_FF_A_CTL 0x0a06
+#define WCD934X_CDC_ANC0_LPF_FF_B_CTL 0x0a07
+#define WCD934X_CDC_ANC0_LPF_FB_CTL 0x0a08
+#define WCD934X_CDC_ANC0_SMLPF_CTL 0x0a09
+#define WCD934X_CDC_ANC0_DCFLT_SHIFT_CTL 0x0a0a
+#define WCD934X_CDC_ANC0_IIR_ADAPT_CTL 0x0a0b
+#define WCD934X_CDC_ANC0_IIR_COEFF_1_CTL 0x0a0c
+#define WCD934X_CDC_ANC0_IIR_COEFF_2_CTL 0x0a0d
+#define WCD934X_CDC_ANC0_FF_A_GAIN_CTL 0x0a0e
+#define WCD934X_CDC_ANC0_FF_B_GAIN_CTL 0x0a0f
+#define WCD934X_CDC_ANC0_FB_GAIN_CTL 0x0a10
+#define WCD934X_CDC_ANC0_RC_COMMON_CTL 0x0a11
+#define WCD934X_CDC_ANC0_FIFO_COMMON_CTL 0x0a13
+#define WCD934X_CDC_ANC0_RC0_STATUS_FMIN_CNTR 0x0a14
+#define WCD934X_CDC_ANC0_RC1_STATUS_FMIN_CNTR 0x0a15
+#define WCD934X_CDC_ANC0_RC0_STATUS_FMAX_CNTR 0x0a16
+#define WCD934X_CDC_ANC0_RC1_STATUS_FMAX_CNTR 0x0a17
+#define WCD934X_CDC_ANC0_STATUS_FIFO 0x0a18
+#define WCD934X_CDC_ANC1_CLK_RESET_CTL 0x0a19
+#define WCD934X_CDC_ANC1_MODE_1_CTL 0x0a1a
+#define WCD934X_CDC_ANC1_MODE_2_CTL 0x0a1b
+#define WCD934X_CDC_ANC1_FF_SHIFT 0x0a1c
+#define WCD934X_CDC_ANC1_FB_SHIFT 0x0a1d
+#define WCD934X_CDC_ANC1_LPF_FF_A_CTL 0x0a1e
+#define WCD934X_CDC_ANC1_LPF_FF_B_CTL 0x0a1f
+#define WCD934X_CDC_ANC1_LPF_FB_CTL 0x0a20
+#define WCD934X_CDC_ANC1_SMLPF_CTL 0x0a21
+#define WCD934X_CDC_ANC1_DCFLT_SHIFT_CTL 0x0a22
+#define WCD934X_CDC_ANC1_IIR_ADAPT_CTL 0x0a23
+#define WCD934X_CDC_ANC1_IIR_COEFF_1_CTL 0x0a24
+#define WCD934X_CDC_ANC1_IIR_COEFF_2_CTL 0x0a25
+#define WCD934X_CDC_ANC1_FF_A_GAIN_CTL 0x0a26
+#define WCD934X_CDC_ANC1_FF_B_GAIN_CTL 0x0a27
+#define WCD934X_CDC_ANC1_FB_GAIN_CTL 0x0a28
+#define WCD934X_CDC_ANC1_RC_COMMON_CTL 0x0a29
+#define WCD934X_CDC_ANC1_FIFO_COMMON_CTL 0x0a2b
+#define WCD934X_CDC_ANC1_RC0_STATUS_FMIN_CNTR 0x0a2c
+#define WCD934X_CDC_ANC1_RC1_STATUS_FMIN_CNTR 0x0a2d
+#define WCD934X_CDC_ANC1_RC0_STATUS_FMAX_CNTR 0x0a2e
+#define WCD934X_CDC_ANC1_RC1_STATUS_FMAX_CNTR 0x0a2f
+#define WCD934X_CDC_ANC1_STATUS_FIFO 0x0a30
+#define WCD934X_CDC_TX0_TX_PATH_CTL 0x0a31
+#define WCD934X_CDC_TX0_TX_PATH_CFG0 0x0a32
+#define WCD934X_CDC_TX0_TX_PATH_CFG1 0x0a33
+#define WCD934X_CDC_TX0_TX_VOL_CTL 0x0a34
+#define WCD934X_CDC_TX0_TX_PATH_192_CTL 0x0a35
+#define WCD934X_CDC_TX0_TX_PATH_192_CFG 0x0a36
+#define WCD934X_CDC_TX0_TX_PATH_SEC0 0x0a37
+#define WCD934X_CDC_TX0_TX_PATH_SEC1 0x0a38
+#define WCD934X_CDC_TX0_TX_PATH_SEC2 0x0a39
+#define WCD934X_CDC_TX0_TX_PATH_SEC3 0x0a3a
+#define WCD934X_CDC_TX0_TX_PATH_SEC4 0x0a3b
+#define WCD934X_CDC_TX0_TX_PATH_SEC5 0x0a3c
+#define WCD934X_CDC_TX0_TX_PATH_SEC6 0x0a3d
+#define WCD934X_CDC_TX0_TX_PATH_SEC7 0x0a3e
+#define WCD934X_CDC_TX1_TX_PATH_CTL 0x0a41
+#define WCD934X_CDC_TX1_TX_PATH_CFG0 0x0a42
+#define WCD934X_CDC_TX1_TX_PATH_CFG1 0x0a43
+#define WCD934X_CDC_TX1_TX_VOL_CTL 0x0a44
+#define WCD934X_CDC_TX1_TX_PATH_192_CTL 0x0a45
+#define WCD934X_CDC_TX1_TX_PATH_192_CFG 0x0a46
+#define WCD934X_CDC_TX1_TX_PATH_SEC0 0x0a47
+#define WCD934X_CDC_TX1_TX_PATH_SEC1 0x0a48
+#define WCD934X_CDC_TX1_TX_PATH_SEC2 0x0a49
+#define WCD934X_CDC_TX1_TX_PATH_SEC3 0x0a4a
+#define WCD934X_CDC_TX1_TX_PATH_SEC4 0x0a4b
+#define WCD934X_CDC_TX1_TX_PATH_SEC5 0x0a4c
+#define WCD934X_CDC_TX1_TX_PATH_SEC6 0x0a4d
+#define WCD934X_CDC_TX2_TX_PATH_CTL 0x0a51
+#define WCD934X_CDC_TX2_TX_PATH_CFG0 0x0a52
+#define WCD934X_CDC_TX2_TX_PATH_CFG1 0x0a53
+#define WCD934X_CDC_TX2_TX_VOL_CTL 0x0a54
+#define WCD934X_CDC_TX2_TX_PATH_192_CTL 0x0a55
+#define WCD934X_CDC_TX2_TX_PATH_192_CFG 0x0a56
+#define WCD934X_CDC_TX2_TX_PATH_SEC0 0x0a57
+#define WCD934X_CDC_TX2_TX_PATH_SEC1 0x0a58
+#define WCD934X_CDC_TX2_TX_PATH_SEC2 0x0a59
+#define WCD934X_CDC_TX2_TX_PATH_SEC3 0x0a5a
+#define WCD934X_CDC_TX2_TX_PATH_SEC4 0x0a5b
+#define WCD934X_CDC_TX2_TX_PATH_SEC5 0x0a5c
+#define WCD934X_CDC_TX2_TX_PATH_SEC6 0x0a5d
+#define WCD934X_CDC_TX3_TX_PATH_CTL 0x0a61
+#define WCD934X_CDC_TX3_TX_PATH_CFG0 0x0a62
+#define WCD934X_CDC_TX3_TX_PATH_CFG1 0x0a63
+#define WCD934X_CDC_TX3_TX_VOL_CTL 0x0a64
+#define WCD934X_CDC_TX3_TX_PATH_192_CTL 0x0a65
+#define WCD934X_CDC_TX3_TX_PATH_192_CFG 0x0a66
+#define WCD934X_CDC_TX3_TX_PATH_SEC0 0x0a67
+#define WCD934X_CDC_TX3_TX_PATH_SEC1 0x0a68
+#define WCD934X_CDC_TX3_TX_PATH_SEC2 0x0a69
+#define WCD934X_CDC_TX3_TX_PATH_SEC3 0x0a6a
+#define WCD934X_CDC_TX3_TX_PATH_SEC4 0x0a6b
+#define WCD934X_CDC_TX3_TX_PATH_SEC5 0x0a6c
+#define WCD934X_CDC_TX3_TX_PATH_SEC6 0x0a6d
+#define WCD934X_CDC_TX4_TX_PATH_CTL 0x0a71
+#define WCD934X_CDC_TX4_TX_PATH_CFG0 0x0a72
+#define WCD934X_CDC_TX4_TX_PATH_CFG1 0x0a73
+#define WCD934X_CDC_TX4_TX_VOL_CTL 0x0a74
+#define WCD934X_CDC_TX4_TX_PATH_192_CTL 0x0a75
+#define WCD934X_CDC_TX4_TX_PATH_192_CFG 0x0a76
+#define WCD934X_CDC_TX4_TX_PATH_SEC0 0x0a77
+#define WCD934X_CDC_TX4_TX_PATH_SEC1 0x0a78
+#define WCD934X_CDC_TX4_TX_PATH_SEC2 0x0a79
+#define WCD934X_CDC_TX4_TX_PATH_SEC3 0x0a7a
+#define WCD934X_CDC_TX4_TX_PATH_SEC4 0x0a7b
+#define WCD934X_CDC_TX4_TX_PATH_SEC5 0x0a7c
+#define WCD934X_CDC_TX4_TX_PATH_SEC6 0x0a7d
+#define WCD934X_CDC_TX5_TX_PATH_CTL 0x0a81
+#define WCD934X_CDC_TX5_TX_PATH_CFG0 0x0a82
+#define WCD934X_CDC_TX5_TX_PATH_CFG1 0x0a83
+#define WCD934X_CDC_TX5_TX_VOL_CTL 0x0a84
+#define WCD934X_CDC_TX5_TX_PATH_192_CTL 0x0a85
+#define WCD934X_CDC_TX5_TX_PATH_192_CFG 0x0a86
+#define WCD934X_CDC_TX5_TX_PATH_SEC0 0x0a87
+#define WCD934X_CDC_TX5_TX_PATH_SEC1 0x0a88
+#define WCD934X_CDC_TX5_TX_PATH_SEC2 0x0a89
+#define WCD934X_CDC_TX5_TX_PATH_SEC3 0x0a8a
+#define WCD934X_CDC_TX5_TX_PATH_SEC4 0x0a8b
+#define WCD934X_CDC_TX5_TX_PATH_SEC5 0x0a8c
+#define WCD934X_CDC_TX5_TX_PATH_SEC6 0x0a8d
+#define WCD934X_CDC_TX6_TX_PATH_CTL 0x0a91
+#define WCD934X_CDC_TX6_TX_PATH_CFG0 0x0a92
+#define WCD934X_CDC_TX6_TX_PATH_CFG1 0x0a93
+#define WCD934X_CDC_TX6_TX_VOL_CTL 0x0a94
+#define WCD934X_CDC_TX6_TX_PATH_192_CTL 0x0a95
+#define WCD934X_CDC_TX6_TX_PATH_192_CFG 0x0a96
+#define WCD934X_CDC_TX6_TX_PATH_SEC0 0x0a97
+#define WCD934X_CDC_TX6_TX_PATH_SEC1 0x0a98
+#define WCD934X_CDC_TX6_TX_PATH_SEC2 0x0a99
+#define WCD934X_CDC_TX6_TX_PATH_SEC3 0x0a9a
+#define WCD934X_CDC_TX6_TX_PATH_SEC4 0x0a9b
+#define WCD934X_CDC_TX6_TX_PATH_SEC5 0x0a9c
+#define WCD934X_CDC_TX6_TX_PATH_SEC6 0x0a9d
+#define WCD934X_CDC_TX7_TX_PATH_CTL 0x0aa1
+#define WCD934X_CDC_TX7_TX_PATH_CFG0 0x0aa2
+#define WCD934X_CDC_TX7_TX_PATH_CFG1 0x0aa3
+#define WCD934X_CDC_TX7_TX_VOL_CTL 0x0aa4
+#define WCD934X_CDC_TX7_TX_PATH_192_CTL 0x0aa5
+#define WCD934X_CDC_TX7_TX_PATH_192_CFG 0x0aa6
+#define WCD934X_CDC_TX7_TX_PATH_SEC0 0x0aa7
+#define WCD934X_CDC_TX7_TX_PATH_SEC1 0x0aa8
+#define WCD934X_CDC_TX7_TX_PATH_SEC2 0x0aa9
+#define WCD934X_CDC_TX7_TX_PATH_SEC3 0x0aaa
+#define WCD934X_CDC_TX7_TX_PATH_SEC4 0x0aab
+#define WCD934X_CDC_TX7_TX_PATH_SEC5 0x0aac
+#define WCD934X_CDC_TX7_TX_PATH_SEC6 0x0aad
+#define WCD934X_CDC_TX8_TX_PATH_CTL 0x0ab1
+#define WCD934X_CDC_TX8_TX_PATH_CFG0 0x0ab2
+#define WCD934X_CDC_TX8_TX_PATH_CFG1 0x0ab3
+#define WCD934X_CDC_TX8_TX_VOL_CTL 0x0ab4
+#define WCD934X_CDC_TX8_TX_PATH_192_CTL 0x0ab5
+#define WCD934X_CDC_TX8_TX_PATH_192_CFG 0x0ab6
+#define WCD934X_CDC_TX8_TX_PATH_SEC0 0x0ab7
+#define WCD934X_CDC_TX8_TX_PATH_SEC1 0x0ab8
+#define WCD934X_CDC_TX8_TX_PATH_SEC2 0x0ab9
+#define WCD934X_CDC_TX8_TX_PATH_SEC3 0x0aba
+#define WCD934X_CDC_TX8_TX_PATH_SEC4 0x0abb
+#define WCD934X_CDC_TX8_TX_PATH_SEC5 0x0abc
+#define WCD934X_CDC_TX8_TX_PATH_SEC6 0x0abd
+#define WCD934X_CDC_TX9_SPKR_PROT_PATH_CTL 0x0ac2
+#define WCD934X_CDC_TX9_SPKR_PROT_PATH_CFG0 0x0ac3
+#define WCD934X_CDC_TX10_SPKR_PROT_PATH_CTL 0x0ac6
+#define WCD934X_CDC_TX10_SPKR_PROT_PATH_CFG0 0x0ac7
+#define WCD934X_CDC_TX11_SPKR_PROT_PATH_CTL 0x0aca
+#define WCD934X_CDC_TX11_SPKR_PROT_PATH_CFG0 0x0acb
+#define WCD934X_CDC_TX12_SPKR_PROT_PATH_CTL 0x0ace
+#define WCD934X_CDC_TX12_SPKR_PROT_PATH_CFG0 0x0acf
+#define WCD934X_PAGE11_PAGE_REGISTER 0x0b00
+#define WCD934X_CDC_COMPANDER1_CTL0 0x0b01
+#define WCD934X_CDC_COMPANDER1_CTL1 0x0b02
+#define WCD934X_CDC_COMPANDER1_CTL2 0x0b03
+#define WCD934X_CDC_COMPANDER1_CTL3 0x0b04
+#define WCD934X_CDC_COMPANDER1_CTL4 0x0b05
+#define WCD934X_CDC_COMPANDER1_CTL5 0x0b06
+#define WCD934X_CDC_COMPANDER1_CTL6 0x0b07
+#define WCD934X_CDC_COMPANDER1_CTL7 0x0b08
+#define WCD934X_CDC_COMPANDER2_CTL0 0x0b09
+#define WCD934X_CDC_COMPANDER2_CTL1 0x0b0a
+#define WCD934X_CDC_COMPANDER2_CTL2 0x0b0b
+#define WCD934X_CDC_COMPANDER2_CTL3 0x0b0c
+#define WCD934X_CDC_COMPANDER2_CTL4 0x0b0d
+#define WCD934X_CDC_COMPANDER2_CTL5 0x0b0e
+#define WCD934X_CDC_COMPANDER2_CTL6 0x0b0f
+#define WCD934X_CDC_COMPANDER2_CTL7 0x0b10
+#define WCD934X_CDC_COMPANDER3_CTL0 0x0b11
+#define WCD934X_CDC_COMPANDER3_CTL1 0x0b12
+#define WCD934X_CDC_COMPANDER3_CTL2 0x0b13
+#define WCD934X_CDC_COMPANDER3_CTL3 0x0b14
+#define WCD934X_CDC_COMPANDER3_CTL4 0x0b15
+#define WCD934X_CDC_COMPANDER3_CTL5 0x0b16
+#define WCD934X_CDC_COMPANDER3_CTL6 0x0b17
+#define WCD934X_CDC_COMPANDER3_CTL7 0x0b18
+#define WCD934X_CDC_COMPANDER4_CTL0 0x0b19
+#define WCD934X_CDC_COMPANDER4_CTL1 0x0b1a
+#define WCD934X_CDC_COMPANDER4_CTL2 0x0b1b
+#define WCD934X_CDC_COMPANDER4_CTL3 0x0b1c
+#define WCD934X_CDC_COMPANDER4_CTL4 0x0b1d
+#define WCD934X_CDC_COMPANDER4_CTL5 0x0b1e
+#define WCD934X_CDC_COMPANDER4_CTL6 0x0b1f
+#define WCD934X_CDC_COMPANDER4_CTL7 0x0b20
+#define WCD934X_CDC_COMPANDER7_CTL0 0x0b31
+#define WCD934X_CDC_COMPANDER7_CTL1 0x0b32
+#define WCD934X_CDC_COMPANDER7_CTL2 0x0b33
+#define WCD934X_CDC_COMPANDER7_CTL3 0x0b34
+#define WCD934X_CDC_COMPANDER7_CTL4 0x0b35
+#define WCD934X_CDC_COMPANDER7_CTL5 0x0b36
+#define WCD934X_CDC_COMPANDER7_CTL6 0x0b37
+#define WCD934X_CDC_COMPANDER7_CTL7 0x0b38
+#define WCD934X_CDC_COMPANDER8_CTL0 0x0b39
+#define WCD934X_CDC_COMPANDER8_CTL1 0x0b3a
+#define WCD934X_CDC_COMPANDER8_CTL2 0x0b3b
+#define WCD934X_CDC_COMPANDER8_CTL3 0x0b3c
+#define WCD934X_CDC_COMPANDER8_CTL4 0x0b3d
+#define WCD934X_CDC_COMPANDER8_CTL5 0x0b3e
+#define WCD934X_CDC_COMPANDER8_CTL6 0x0b3f
+#define WCD934X_CDC_COMPANDER8_CTL7 0x0b40
+#define WCD934X_CDC_RX0_RX_PATH_CTL 0x0b41
+#define WCD934X_CDC_RX0_RX_PATH_CFG0 0x0b42
+#define WCD934X_CDC_RX0_RX_PATH_CFG1 0x0b43
+#define WCD934X_CDC_RX0_RX_PATH_CFG2 0x0b44
+#define WCD934X_CDC_RX0_RX_VOL_CTL 0x0b45
+#define WCD934X_CDC_RX0_RX_PATH_MIX_CTL 0x0b46
+#define WCD934X_CDC_RX0_RX_PATH_MIX_CFG 0x0b47
+#define WCD934X_CDC_RX0_RX_VOL_MIX_CTL 0x0b48
+#define WCD934X_CDC_RX0_RX_PATH_SEC0 0x0b49
+#define WCD934X_CDC_RX0_RX_PATH_SEC1 0x0b4a
+#define WCD934X_CDC_RX0_RX_PATH_SEC2 0x0b4b
+#define WCD934X_CDC_RX0_RX_PATH_SEC3 0x0b4c
+#define WCD934X_CDC_RX0_RX_PATH_SEC5 0x0b4e
+#define WCD934X_CDC_RX0_RX_PATH_SEC6 0x0b4f
+#define WCD934X_CDC_RX0_RX_PATH_SEC7 0x0b50
+#define WCD934X_CDC_RX0_RX_PATH_MIX_SEC0 0x0b51
+#define WCD934X_CDC_RX0_RX_PATH_MIX_SEC1 0x0b52
+#define WCD934X_CDC_RX0_RX_PATH_DSMDEM_CTL 0x0b53
+#define WCD934X_CDC_RX1_RX_PATH_CTL 0x0b55
+#define WCD934X_CDC_RX1_RX_PATH_CFG0 0x0b56
+#define WCD934X_CDC_RX1_RX_PATH_CFG1 0x0b57
+#define WCD934X_CDC_RX1_RX_PATH_CFG2 0x0b58
+#define WCD934X_CDC_RX1_RX_VOL_CTL 0x0b59
+#define WCD934X_CDC_RX1_RX_PATH_MIX_CTL 0x0b5a
+#define WCD934X_CDC_RX1_RX_PATH_MIX_CFG 0x0b5b
+#define WCD934X_CDC_RX1_RX_VOL_MIX_CTL 0x0b5c
+#define WCD934X_CDC_RX1_RX_PATH_SEC0 0x0b5d
+#define WCD934X_CDC_RX1_RX_PATH_SEC1 0x0b5e
+#define WCD934X_CDC_RX1_RX_PATH_SEC2 0x0b5f
+#define WCD934X_CDC_RX1_RX_PATH_SEC3 0x0b60
+#define WCD934X_CDC_RX1_RX_PATH_SEC4 0x0b61
+#define WCD934X_CDC_RX1_RX_PATH_SEC5 0x0b62
+#define WCD934X_CDC_RX1_RX_PATH_SEC6 0x0b63
+#define WCD934X_CDC_RX1_RX_PATH_SEC7 0x0b64
+#define WCD934X_CDC_RX1_RX_PATH_MIX_SEC0 0x0b65
+#define WCD934X_CDC_RX1_RX_PATH_MIX_SEC1 0x0b66
+#define WCD934X_CDC_RX1_RX_PATH_DSMDEM_CTL 0x0b67
+#define WCD934X_CDC_RX2_RX_PATH_CTL 0x0b69
+#define WCD934X_CDC_RX2_RX_PATH_CFG0 0x0b6a
+#define WCD934X_CDC_RX2_RX_PATH_CFG1 0x0b6b
+#define WCD934X_CDC_RX2_RX_PATH_CFG2 0x0b6c
+#define WCD934X_CDC_RX2_RX_VOL_CTL 0x0b6d
+#define WCD934X_CDC_RX2_RX_PATH_MIX_CTL 0x0b6e
+#define WCD934X_CDC_RX2_RX_PATH_MIX_CFG 0x0b6f
+#define WCD934X_CDC_RX2_RX_VOL_MIX_CTL 0x0b70
+#define WCD934X_CDC_RX2_RX_PATH_SEC0 0x0b71
+#define WCD934X_CDC_RX2_RX_PATH_SEC1 0x0b72
+#define WCD934X_CDC_RX2_RX_PATH_SEC2 0x0b73
+#define WCD934X_CDC_RX2_RX_PATH_SEC3 0x0b74
+#define WCD934X_CDC_RX2_RX_PATH_SEC4 0x0b75
+#define WCD934X_CDC_RX2_RX_PATH_SEC5 0x0b76
+#define WCD934X_CDC_RX2_RX_PATH_SEC6 0x0b77
+#define WCD934X_CDC_RX2_RX_PATH_SEC7 0x0b78
+#define WCD934X_CDC_RX2_RX_PATH_MIX_SEC0 0x0b79
+#define WCD934X_CDC_RX2_RX_PATH_MIX_SEC1 0x0b7a
+#define WCD934X_CDC_RX2_RX_PATH_DSMDEM_CTL 0x0b7b
+#define WCD934X_CDC_RX3_RX_PATH_CTL 0x0b7d
+#define WCD934X_CDC_RX3_RX_PATH_CFG0 0x0b7e
+#define WCD934X_CDC_RX3_RX_PATH_CFG1 0x0b7f
+#define WCD934X_CDC_RX3_RX_PATH_CFG2 0x0b80
+#define WCD934X_CDC_RX3_RX_VOL_CTL 0x0b81
+#define WCD934X_CDC_RX3_RX_PATH_MIX_CTL 0x0b82
+#define WCD934X_CDC_RX3_RX_PATH_MIX_CFG 0x0b83
+#define WCD934X_CDC_RX3_RX_VOL_MIX_CTL 0x0b84
+#define WCD934X_CDC_RX3_RX_PATH_SEC0 0x0b85
+#define WCD934X_CDC_RX3_RX_PATH_SEC1 0x0b86
+#define WCD934X_CDC_RX3_RX_PATH_SEC2 0x0b87
+#define WCD934X_CDC_RX3_RX_PATH_SEC3 0x0b88
+#define WCD934X_CDC_RX3_RX_PATH_SEC5 0x0b8a
+#define WCD934X_CDC_RX3_RX_PATH_SEC6 0x0b8b
+#define WCD934X_CDC_RX3_RX_PATH_SEC7 0x0b8c
+#define WCD934X_CDC_RX3_RX_PATH_MIX_SEC0 0x0b8d
+#define WCD934X_CDC_RX3_RX_PATH_MIX_SEC1 0x0b8e
+#define WCD934X_CDC_RX3_RX_PATH_DSMDEM_CTL 0x0b8f
+#define WCD934X_CDC_RX4_RX_PATH_CTL 0x0b91
+#define WCD934X_CDC_RX4_RX_PATH_CFG0 0x0b92
+#define WCD934X_CDC_RX4_RX_PATH_CFG1 0x0b93
+#define WCD934X_CDC_RX4_RX_PATH_CFG2 0x0b94
+#define WCD934X_CDC_RX4_RX_VOL_CTL 0x0b95
+#define WCD934X_CDC_RX4_RX_PATH_MIX_CTL 0x0b96
+#define WCD934X_CDC_RX4_RX_PATH_MIX_CFG 0x0b97
+#define WCD934X_CDC_RX4_RX_VOL_MIX_CTL 0x0b98
+#define WCD934X_CDC_RX4_RX_PATH_SEC0 0x0b99
+#define WCD934X_CDC_RX4_RX_PATH_SEC1 0x0b9a
+#define WCD934X_CDC_RX4_RX_PATH_SEC2 0x0b9b
+#define WCD934X_CDC_RX4_RX_PATH_SEC3 0x0b9c
+#define WCD934X_CDC_RX4_RX_PATH_SEC5 0x0b9e
+#define WCD934X_CDC_RX4_RX_PATH_SEC6 0x0b9f
+#define WCD934X_CDC_RX4_RX_PATH_SEC7 0x0ba0
+#define WCD934X_CDC_RX4_RX_PATH_MIX_SEC0 0x0ba1
+#define WCD934X_CDC_RX4_RX_PATH_MIX_SEC1 0x0ba2
+#define WCD934X_CDC_RX4_RX_PATH_DSMDEM_CTL 0x0ba3
+#define WCD934X_CDC_RX7_RX_PATH_CTL 0x0bcd
+#define WCD934X_CDC_RX7_RX_PATH_CFG0 0x0bce
+#define WCD934X_CDC_RX7_RX_PATH_CFG1 0x0bcf
+#define WCD934X_CDC_RX7_RX_PATH_CFG2 0x0bd0
+#define WCD934X_CDC_RX7_RX_VOL_CTL 0x0bd1
+#define WCD934X_CDC_RX7_RX_PATH_MIX_CTL 0x0bd2
+#define WCD934X_CDC_RX7_RX_PATH_MIX_CFG 0x0bd3
+#define WCD934X_CDC_RX7_RX_VOL_MIX_CTL 0x0bd4
+#define WCD934X_CDC_RX7_RX_PATH_SEC0 0x0bd5
+#define WCD934X_CDC_RX7_RX_PATH_SEC1 0x0bd6
+#define WCD934X_CDC_RX7_RX_PATH_SEC2 0x0bd7
+#define WCD934X_CDC_RX7_RX_PATH_SEC3 0x0bd8
+#define WCD934X_CDC_RX7_RX_PATH_SEC5 0x0bda
+#define WCD934X_CDC_RX7_RX_PATH_SEC6 0x0bdb
+#define WCD934X_CDC_RX7_RX_PATH_SEC7 0x0bdc
+#define WCD934X_CDC_RX7_RX_PATH_MIX_SEC0 0x0bdd
+#define WCD934X_CDC_RX7_RX_PATH_MIX_SEC1 0x0bde
+#define WCD934X_CDC_RX7_RX_PATH_DSMDEM_CTL 0x0bdf
+#define WCD934X_CDC_RX8_RX_PATH_CTL 0x0be1
+#define WCD934X_CDC_RX8_RX_PATH_CFG0 0x0be2
+#define WCD934X_CDC_RX8_RX_PATH_CFG1 0x0be3
+#define WCD934X_CDC_RX8_RX_PATH_CFG2 0x0be4
+#define WCD934X_CDC_RX8_RX_VOL_CTL 0x0be5
+#define WCD934X_CDC_RX8_RX_PATH_MIX_CTL 0x0be6
+#define WCD934X_CDC_RX8_RX_PATH_MIX_CFG 0x0be7
+#define WCD934X_CDC_RX8_RX_VOL_MIX_CTL 0x0be8
+#define WCD934X_CDC_RX8_RX_PATH_SEC0 0x0be9
+#define WCD934X_CDC_RX8_RX_PATH_SEC1 0x0bea
+#define WCD934X_CDC_RX8_RX_PATH_SEC2 0x0beb
+#define WCD934X_CDC_RX8_RX_PATH_SEC3 0x0bec
+#define WCD934X_CDC_RX8_RX_PATH_SEC5 0x0bee
+#define WCD934X_CDC_RX8_RX_PATH_SEC6 0x0bef
+#define WCD934X_CDC_RX8_RX_PATH_SEC7 0x0bf0
+#define WCD934X_CDC_RX8_RX_PATH_MIX_SEC0 0x0bf1
+#define WCD934X_CDC_RX8_RX_PATH_MIX_SEC1 0x0bf2
+#define WCD934X_CDC_RX8_RX_PATH_DSMDEM_CTL 0x0bf3
+#define WCD934X_PAGE12_PAGE_REGISTER 0x0c00
+#define WCD934X_CDC_CLSH_CRC 0x0c01
+#define WCD934X_CDC_CLSH_DLY_CTRL 0x0c02
+#define WCD934X_CDC_CLSH_DECAY_CTRL 0x0c03
+#define WCD934X_CDC_CLSH_HPH_V_PA 0x0c04
+#define WCD934X_CDC_CLSH_EAR_V_PA 0x0c05
+#define WCD934X_CDC_CLSH_HPH_V_HD 0x0c06
+#define WCD934X_CDC_CLSH_EAR_V_HD 0x0c07
+#define WCD934X_CDC_CLSH_K1_MSB 0x0c08
+#define WCD934X_CDC_CLSH_K1_LSB 0x0c09
+#define WCD934X_CDC_CLSH_K2_MSB 0x0c0a
+#define WCD934X_CDC_CLSH_K2_LSB 0x0c0b
+#define WCD934X_CDC_CLSH_IDLE_CTRL 0x0c0c
+#define WCD934X_CDC_CLSH_IDLE_HPH 0x0c0d
+#define WCD934X_CDC_CLSH_IDLE_EAR 0x0c0e
+#define WCD934X_CDC_CLSH_TEST0 0x0c0f
+#define WCD934X_CDC_CLSH_TEST1 0x0c10
+#define WCD934X_CDC_CLSH_OVR_VREF 0x0c11
+#define WCD934X_CDC_BOOST0_BOOST_PATH_CTL 0x0c19
+#define WCD934X_CDC_BOOST0_BOOST_CTL 0x0c1a
+#define WCD934X_CDC_BOOST0_BOOST_CFG1 0x0c1b
+#define WCD934X_CDC_BOOST0_BOOST_CFG2 0x0c1c
+#define WCD934X_CDC_BOOST1_BOOST_PATH_CTL 0x0c21
+#define WCD934X_CDC_BOOST1_BOOST_CTL 0x0c22
+#define WCD934X_CDC_BOOST1_BOOST_CFG1 0x0c23
+#define WCD934X_CDC_BOOST1_BOOST_CFG2 0x0c24
+#define WCD934X_CDC_VBAT_VBAT_PATH_CTL 0x0c3d
+#define WCD934X_CDC_VBAT_VBAT_CFG 0x0c3e
+#define WCD934X_CDC_VBAT_VBAT_ADC_CAL1 0x0c3f
+#define WCD934X_CDC_VBAT_VBAT_ADC_CAL2 0x0c40
+#define WCD934X_CDC_VBAT_VBAT_ADC_CAL3 0x0c41
+#define WCD934X_CDC_VBAT_VBAT_PK_EST1 0x0c42
+#define WCD934X_CDC_VBAT_VBAT_PK_EST2 0x0c43
+#define WCD934X_CDC_VBAT_VBAT_PK_EST3 0x0c44
+#define WCD934X_CDC_VBAT_VBAT_RF_PROC1 0x0c45
+#define WCD934X_CDC_VBAT_VBAT_RF_PROC2 0x0c46
+#define WCD934X_CDC_VBAT_VBAT_TAC1 0x0c47
+#define WCD934X_CDC_VBAT_VBAT_TAC2 0x0c48
+#define WCD934X_CDC_VBAT_VBAT_TAC3 0x0c49
+#define WCD934X_CDC_VBAT_VBAT_TAC4 0x0c4a
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD1 0x0c4b
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD2 0x0c4c
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD3 0x0c4d
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD4 0x0c4e
+#define WCD934X_CDC_VBAT_VBAT_DEBUG1 0x0c4f
+#define WCD934X_CDC_VBAT_VBAT_GAIN_UPD_MON 0x0c50
+#define WCD934X_CDC_VBAT_VBAT_GAIN_MON_VAL 0x0c51
+#define WCD934X_CDC_VBAT_VBAT_BAN 0x0c52
+#define WCD934X_MIXING_ASRC0_CLK_RST_CTL 0x0c55
+#define WCD934X_MIXING_ASRC0_CTL0 0x0c56
+#define WCD934X_MIXING_ASRC0_CTL1 0x0c57
+#define WCD934X_MIXING_ASRC0_FIFO_CTL 0x0c58
+#define WCD934X_MIXING_ASRC0_STATUS_FMIN_CNTR_LSB 0x0c59
+#define WCD934X_MIXING_ASRC0_STATUS_FMIN_CNTR_MSB 0x0c5a
+#define WCD934X_MIXING_ASRC0_STATUS_FMAX_CNTR_LSB 0x0c5b
+#define WCD934X_MIXING_ASRC0_STATUS_FMAX_CNTR_MSB 0x0c5c
+#define WCD934X_MIXING_ASRC0_STATUS_FIFO 0x0c5d
+#define WCD934X_MIXING_ASRC1_CLK_RST_CTL 0x0c61
+#define WCD934X_MIXING_ASRC1_CTL0 0x0c62
+#define WCD934X_MIXING_ASRC1_CTL1 0x0c63
+#define WCD934X_MIXING_ASRC1_FIFO_CTL 0x0c64
+#define WCD934X_MIXING_ASRC1_STATUS_FMIN_CNTR_LSB 0x0c65
+#define WCD934X_MIXING_ASRC1_STATUS_FMIN_CNTR_MSB 0x0c66
+#define WCD934X_MIXING_ASRC1_STATUS_FMAX_CNTR_LSB 0x0c67
+#define WCD934X_MIXING_ASRC1_STATUS_FMAX_CNTR_MSB 0x0c68
+#define WCD934X_MIXING_ASRC1_STATUS_FIFO 0x0c69
+#define WCD934X_MIXING_ASRC2_CLK_RST_CTL 0x0c6d
+#define WCD934X_MIXING_ASRC2_CTL0 0x0c6e
+#define WCD934X_MIXING_ASRC2_CTL1 0x0c6f
+#define WCD934X_MIXING_ASRC2_FIFO_CTL 0x0c70
+#define WCD934X_MIXING_ASRC2_STATUS_FMIN_CNTR_LSB 0x0c71
+#define WCD934X_MIXING_ASRC2_STATUS_FMIN_CNTR_MSB 0x0c72
+#define WCD934X_MIXING_ASRC2_STATUS_FMAX_CNTR_LSB 0x0c73
+#define WCD934X_MIXING_ASRC2_STATUS_FMAX_CNTR_MSB 0x0c74
+#define WCD934X_MIXING_ASRC2_STATUS_FIFO 0x0c75
+#define WCD934X_MIXING_ASRC3_CLK_RST_CTL 0x0c79
+#define WCD934X_MIXING_ASRC3_CTL0 0x0c7a
+#define WCD934X_MIXING_ASRC3_CTL1 0x0c7b
+#define WCD934X_MIXING_ASRC3_FIFO_CTL 0x0c7c
+#define WCD934X_MIXING_ASRC3_STATUS_FMIN_CNTR_LSB 0x0c7d
+#define WCD934X_MIXING_ASRC3_STATUS_FMIN_CNTR_MSB 0x0c7e
+#define WCD934X_MIXING_ASRC3_STATUS_FMAX_CNTR_LSB 0x0c7f
+#define WCD934X_MIXING_ASRC3_STATUS_FMAX_CNTR_MSB 0x0c80
+#define WCD934X_MIXING_ASRC3_STATUS_FIFO 0x0c81
+#define WCD934X_SWR_AHB_BRIDGE_WR_DATA_0 0x0c85
+#define WCD934X_SWR_AHB_BRIDGE_WR_DATA_1 0x0c86
+#define WCD934X_SWR_AHB_BRIDGE_WR_DATA_2 0x0c87
+#define WCD934X_SWR_AHB_BRIDGE_WR_DATA_3 0x0c88
+#define WCD934X_SWR_AHB_BRIDGE_WR_ADDR_0 0x0c89
+#define WCD934X_SWR_AHB_BRIDGE_WR_ADDR_1 0x0c8a
+#define WCD934X_SWR_AHB_BRIDGE_WR_ADDR_2 0x0c8b
+#define WCD934X_SWR_AHB_BRIDGE_WR_ADDR_3 0x0c8c
+#define WCD934X_SWR_AHB_BRIDGE_RD_ADDR_0 0x0c8d
+#define WCD934X_SWR_AHB_BRIDGE_RD_ADDR_1 0x0c8e
+#define WCD934X_SWR_AHB_BRIDGE_RD_ADDR_2 0x0c8f
+#define WCD934X_SWR_AHB_BRIDGE_RD_ADDR_3 0x0c90
+#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_0 0x0c91
+#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_1 0x0c92
+#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_2 0x0c93
+#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_3 0x0c94
+#define WCD934X_SWR_AHB_BRIDGE_ACCESS_CFG 0x0c95
+#define WCD934X_SWR_AHB_BRIDGE_ACCESS_STATUS 0x0c96
+#define WCD934X_CDC_SIDETONE_SRC0_ST_SRC_PATH_CTL 0x0cb5
+#define WCD934X_CDC_SIDETONE_SRC0_ST_SRC_PATH_CFG1 0x0cb6
+#define WCD934X_CDC_SIDETONE_SRC1_ST_SRC_PATH_CTL 0x0cb9
+#define WCD934X_CDC_SIDETONE_SRC1_ST_SRC_PATH_CFG1 0x0cba
+#define WCD934X_SIDETONE_ASRC0_CLK_RST_CTL 0x0cbd
+#define WCD934X_SIDETONE_ASRC0_CTL0 0x0cbe
+#define WCD934X_SIDETONE_ASRC0_CTL1 0x0cbf
+#define WCD934X_SIDETONE_ASRC0_FIFO_CTL 0x0cc0
+#define WCD934X_SIDETONE_ASRC0_STATUS_FMIN_CNTR_LSB 0x0cc1
+#define WCD934X_SIDETONE_ASRC0_STATUS_FMIN_CNTR_MSB 0x0cc2
+#define WCD934X_SIDETONE_ASRC0_STATUS_FMAX_CNTR_LSB 0x0cc3
+#define WCD934X_SIDETONE_ASRC0_STATUS_FMAX_CNTR_MSB 0x0cc4
+#define WCD934X_SIDETONE_ASRC0_STATUS_FIFO 0x0cc5
+#define WCD934X_SIDETONE_ASRC1_CLK_RST_CTL 0x0cc9
+#define WCD934X_SIDETONE_ASRC1_CTL0 0x0cca
+#define WCD934X_SIDETONE_ASRC1_CTL1 0x0ccb
+#define WCD934X_SIDETONE_ASRC1_FIFO_CTL 0x0ccc
+#define WCD934X_SIDETONE_ASRC1_STATUS_FMIN_CNTR_LSB 0x0ccd
+#define WCD934X_SIDETONE_ASRC1_STATUS_FMIN_CNTR_MSB 0x0cce
+#define WCD934X_SIDETONE_ASRC1_STATUS_FMAX_CNTR_LSB 0x0ccf
+#define WCD934X_SIDETONE_ASRC1_STATUS_FMAX_CNTR_MSB 0x0cd0
+#define WCD934X_SIDETONE_ASRC1_STATUS_FIFO 0x0cd1
+#define WCD934X_EC_REF_HQ0_EC_REF_HQ_PATH_CTL 0x0cd5
+#define WCD934X_EC_REF_HQ0_EC_REF_HQ_CFG0 0x0cd6
+#define WCD934X_EC_REF_HQ1_EC_REF_HQ_PATH_CTL 0x0cdd
+#define WCD934X_EC_REF_HQ1_EC_REF_HQ_CFG0 0x0cde
+#define WCD934X_EC_ASRC0_CLK_RST_CTL 0x0ce5
+#define WCD934X_EC_ASRC0_CTL0 0x0ce6
+#define WCD934X_EC_ASRC0_CTL1 0x0ce7
+#define WCD934X_EC_ASRC0_FIFO_CTL 0x0ce8
+#define WCD934X_EC_ASRC0_STATUS_FMIN_CNTR_LSB 0x0ce9
+#define WCD934X_EC_ASRC0_STATUS_FMIN_CNTR_MSB 0x0cea
+#define WCD934X_EC_ASRC0_STATUS_FMAX_CNTR_LSB 0x0ceb
+#define WCD934X_EC_ASRC0_STATUS_FMAX_CNTR_MSB 0x0cec
+#define WCD934X_EC_ASRC0_STATUS_FIFO 0x0ced
+#define WCD934X_EC_ASRC1_CLK_RST_CTL 0x0cf1
+#define WCD934X_EC_ASRC1_CTL0 0x0cf2
+#define WCD934X_EC_ASRC1_CTL1 0x0cf3
+#define WCD934X_EC_ASRC1_FIFO_CTL 0x0cf4
+#define WCD934X_EC_ASRC1_STATUS_FMIN_CNTR_LSB 0x0cf5
+#define WCD934X_EC_ASRC1_STATUS_FMIN_CNTR_MSB 0x0cf6
+#define WCD934X_EC_ASRC1_STATUS_FMAX_CNTR_LSB 0x0cf7
+#define WCD934X_EC_ASRC1_STATUS_FMAX_CNTR_MSB 0x0cf8
+#define WCD934X_EC_ASRC1_STATUS_FIFO 0x0cf9
+#define WCD934X_PAGE13_PAGE_REGISTER 0x0d00
+#define WCD934X_CDC_RX_INP_MUX_RX_INT0_CFG0 0x0d01
+#define WCD934X_CDC_RX_INP_MUX_RX_INT0_CFG1 0x0d02
+#define WCD934X_CDC_RX_INP_MUX_RX_INT1_CFG0 0x0d03
+#define WCD934X_CDC_RX_INP_MUX_RX_INT1_CFG1 0x0d04
+#define WCD934X_CDC_RX_INP_MUX_RX_INT2_CFG0 0x0d05
+#define WCD934X_CDC_RX_INP_MUX_RX_INT2_CFG1 0x0d06
+#define WCD934X_CDC_RX_INP_MUX_RX_INT3_CFG0 0x0d07
+#define WCD934X_CDC_RX_INP_MUX_RX_INT3_CFG1 0x0d08
+#define WCD934X_CDC_RX_INP_MUX_RX_INT4_CFG0 0x0d09
+#define WCD934X_CDC_RX_INP_MUX_RX_INT4_CFG1 0x0d0a
+#define WCD934X_CDC_RX_INP_MUX_RX_INT7_CFG0 0x0d0f
+#define WCD934X_CDC_RX_INP_MUX_RX_INT7_CFG1 0x0d10
+#define WCD934X_CDC_RX_INP_MUX_RX_INT8_CFG0 0x0d11
+#define WCD934X_CDC_RX_INP_MUX_RX_INT8_CFG1 0x0d12
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG0 0x0d13
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG1 0x0d14
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG2 0x0d15
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG3 0x0d16
+#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG4 0x0d17
+#define WCD934X_CDC_RX_INP_MUX_SIDETONE_SRC_CFG0 0x0d18
+#define WCD934X_CDC_RX_INP_MUX_SIDETONE_SRC_CFG1 0x0d19
+#define WCD934X_CDC_RX_INP_MUX_ANC_CFG0 0x0d1a
+#define WCD934X_CDC_RX_INP_MUX_SPLINE_ASRC_CFG0 0x0d1b
+#define WCD934X_CDC_RX_INP_MUX_EC_REF_HQ_CFG0 0x0d1c
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX0_CFG0 0x0d1d
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX0_CFG1 0x0d1e
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX1_CFG0 0x0d1f
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX1_CFG1 0x0d20
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX2_CFG0 0x0d21
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX2_CFG1 0x0d22
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX3_CFG0 0x0d23
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX3_CFG1 0x0d25
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX4_CFG0 0x0d26
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX5_CFG0 0x0d27
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX6_CFG0 0x0d28
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX7_CFG0 0x0d29
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX8_CFG0 0x0d2a
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX10_CFG0 0x0d2b
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX11_CFG0 0x0d2c
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX12_CFG0 0x0d2d
+#define WCD934X_CDC_TX_INP_MUX_ADC_MUX13_CFG0 0x0d2e
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG0 0x0d31
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG1 0x0d32
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG2 0x0d33
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG3 0x0d34
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG0 0x0d35
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG1 0x0d36
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG2 0x0d37
+#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG3 0x0d38
+#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG0 0x0d3a
+#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG1 0x0d3b
+#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG2 0x0d3c
+#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG3 0x0d3d
+#define WCD934X_CDC_CLK_RST_CTRL_MCLK_CONTROL 0x0d41
+#define WCD934X_CDC_CLK_RST_CTRL_FS_CNT_CONTROL 0x0d42
+#define WCD934X_CDC_CLK_RST_CTRL_SWR_CONTROL 0x0d43
+#define WCD934X_CDC_CLK_RST_CTRL_DSD_CONTROL 0x0d44
+#define WCD934X_CDC_CLK_RST_CTRL_ASRC_SHARE_CONTROL 0x0d45
+#define WCD934X_CDC_CLK_RST_CTRL_GFM_CONTROL 0x0d46
+#define WCD934X_CDC_PROX_DETECT_PROX_CTL 0x0d49
+#define WCD934X_CDC_PROX_DETECT_PROX_POLL_PERIOD0 0x0d4a
+#define WCD934X_CDC_PROX_DETECT_PROX_POLL_PERIOD1 0x0d4b
+#define WCD934X_CDC_PROX_DETECT_PROX_SIG_PATTERN_LSB 0x0d4c
+#define WCD934X_CDC_PROX_DETECT_PROX_SIG_PATTERN_MSB 0x0d4d
+#define WCD934X_CDC_PROX_DETECT_PROX_STATUS 0x0d4e
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_CTRL 0x0d4f
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_BUFF_LSB 0x0d50
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_BUFF_MSB 0x0d51
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_BUFF_LSB_RD 0x0d52
+#define WCD934X_CDC_PROX_DETECT_PROX_TEST_BUFF_MSB_RD 0x0d53
+#define WCD934X_CDC_PROX_DETECT_PROX_CTL_REPEAT_PAT 0x0d54
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_PATH_CTL 0x0d55
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B1_CTL 0x0d56
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B2_CTL 0x0d57
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B3_CTL 0x0d58
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B4_CTL 0x0d59
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B5_CTL 0x0d5a
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B6_CTL 0x0d5b
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B7_CTL 0x0d5c
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B8_CTL 0x0d5d
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_CTL 0x0d5e
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_TIMER_CTL 0x0d5f
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_COEF_B1_CTL 0x0d60
+#define WCD934X_CDC_SIDETONE_IIR0_IIR_COEF_B2_CTL 0x0d61
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_PATH_CTL 0x0d65
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B1_CTL 0x0d66
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B2_CTL 0x0d67
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B3_CTL 0x0d68
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B4_CTL 0x0d69
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B5_CTL 0x0d6a
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B6_CTL 0x0d6b
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B7_CTL 0x0d6c
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B8_CTL 0x0d6d
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_CTL 0x0d6e
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_TIMER_CTL 0x0d6f
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_COEF_B1_CTL 0x0d70
+#define WCD934X_CDC_SIDETONE_IIR1_IIR_COEF_B2_CTL 0x0d71
+#define WCD934X_CDC_TOP_TOP_CFG0 0x0d81
+#define WCD934X_CDC_TOP_TOP_CFG1 0x0d82
+#define WCD934X_CDC_TOP_TOP_CFG7 0x0d88
+#define WCD934X_CDC_TOP_HPHL_COMP_WR_LSB 0x0d89
+#define WCD934X_CDC_TOP_HPHL_COMP_WR_MSB 0x0d8a
+#define WCD934X_CDC_TOP_HPHL_COMP_LUT 0x0d8b
+#define WCD934X_CDC_TOP_HPHL_COMP_RD_LSB 0x0d8c
+#define WCD934X_CDC_TOP_HPHL_COMP_RD_MSB 0x0d8d
+#define WCD934X_CDC_TOP_HPHR_COMP_WR_LSB 0x0d8e
+#define WCD934X_CDC_TOP_HPHR_COMP_WR_MSB 0x0d8f
+#define WCD934X_CDC_TOP_HPHR_COMP_LUT 0x0d90
+#define WCD934X_CDC_TOP_HPHR_COMP_RD_LSB 0x0d91
+#define WCD934X_CDC_TOP_HPHR_COMP_RD_MSB 0x0d92
+#define WCD934X_CDC_TOP_DIFFL_COMP_WR_LSB 0x0d93
+#define WCD934X_CDC_TOP_DIFFL_COMP_WR_MSB 0x0d94
+#define WCD934X_CDC_TOP_DIFFL_COMP_LUT 0x0d95
+#define WCD934X_CDC_TOP_DIFFL_COMP_RD_LSB 0x0d96
+#define WCD934X_CDC_TOP_DIFFL_COMP_RD_MSB 0x0d97
+#define WCD934X_CDC_TOP_DIFFR_COMP_WR_LSB 0x0d98
+#define WCD934X_CDC_TOP_DIFFR_COMP_WR_MSB 0x0d99
+#define WCD934X_CDC_TOP_DIFFR_COMP_LUT 0x0d9a
+#define WCD934X_CDC_TOP_DIFFR_COMP_RD_LSB 0x0d9b
+#define WCD934X_CDC_TOP_DIFFR_COMP_RD_MSB 0x0d9c
+#define WCD934X_CDC_DSD0_PATH_CTL 0x0db1
+#define WCD934X_CDC_DSD0_CFG0 0x0db2
+#define WCD934X_CDC_DSD0_CFG1 0x0db3
+#define WCD934X_CDC_DSD0_CFG2 0x0db4
+#define WCD934X_CDC_DSD0_CFG3 0x0db5
+#define WCD934X_CDC_DSD0_CFG4 0x0db6
+#define WCD934X_CDC_DSD0_CFG5 0x0db7
+#define WCD934X_CDC_DSD1_PATH_CTL 0x0dc1
+#define WCD934X_CDC_DSD1_CFG0 0x0dc2
+#define WCD934X_CDC_DSD1_CFG1 0x0dc3
+#define WCD934X_CDC_DSD1_CFG2 0x0dc4
+#define WCD934X_CDC_DSD1_CFG3 0x0dc5
+#define WCD934X_CDC_DSD1_CFG4 0x0dc6
+#define WCD934X_CDC_DSD1_CFG5 0x0dc7
+#define WCD934X_CDC_RX_IDLE_DET_PATH_CTL 0x0dd1
+#define WCD934X_CDC_RX_IDLE_DET_CFG0 0x0dd2
+#define WCD934X_CDC_RX_IDLE_DET_CFG1 0x0dd3
+#define WCD934X_CDC_RX_IDLE_DET_CFG2 0x0dd4
+#define WCD934X_CDC_RX_IDLE_DET_CFG3 0x0dd5
+#define WCD934X_PAGE14_PAGE_REGISTER 0x0e00
+#define WCD934X_CDC_RATE_EST0_RE_CLK_RST_CTL 0x0e01
+#define WCD934X_CDC_RATE_EST0_RE_CTL 0x0e02
+#define WCD934X_CDC_RATE_EST0_RE_PULSE_SUPR_CTL 0x0e03
+#define WCD934X_CDC_RATE_EST0_RE_TIMER 0x0e04
+#define WCD934X_CDC_RATE_EST0_RE_BW_SW 0x0e05
+#define WCD934X_CDC_RATE_EST0_RE_THRESH 0x0e06
+#define WCD934X_CDC_RATE_EST0_RE_STATUS 0x0e07
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_CTRL 0x0e09
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_TIMER2 0x0e0c
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW1 0x0e0d
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW2 0x0e0e
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW3 0x0e0f
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW4 0x0e10
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_OFFSET_BW5 0x0e11
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW1 0x0e12
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW2 0x0e13
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW3 0x0e14
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW4 0x0e15
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMIT_BW5 0x0e16
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW1 0x0e17
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW2 0x0e18
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW3 0x0e19
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW4 0x0e1a
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_LIMITD1_BW5 0x0e1b
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW1 0x0e1c
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW2 0x0e1d
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW3 0x0e1e
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW4 0x0e1f
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_HYST_BW5 0x0e20
+#define WCD934X_CDC_RATE_EST0_RE_RMAX_DIAG 0x0e21
+#define WCD934X_CDC_RATE_EST0_RE_RMIN_DIAG 0x0e22
+#define WCD934X_CDC_RATE_EST0_RE_PH_DET 0x0e23
+#define WCD934X_CDC_RATE_EST0_RE_DIAG_CLR 0x0e24
+#define WCD934X_CDC_RATE_EST0_RE_MB_SW_STATE 0x0e25
+#define WCD934X_CDC_RATE_EST0_RE_MAST_DIAG_STATE 0x0e26
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_7_0 0x0e27
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_15_8 0x0e28
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_23_16 0x0e29
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_31_24 0x0e2a
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_39_32 0x0e2b
+#define WCD934X_CDC_RATE_EST0_RE_RATE_OUT_40_43 0x0e2c
+#define WCD934X_CDC_RATE_EST1_RE_CLK_RST_CTL 0x0e31
+#define WCD934X_CDC_RATE_EST1_RE_CTL 0x0e32
+#define WCD934X_CDC_RATE_EST1_RE_PULSE_SUPR_CTL 0x0e33
+#define WCD934X_CDC_RATE_EST1_RE_TIMER 0x0e34
+#define WCD934X_CDC_RATE_EST1_RE_BW_SW 0x0e35
+#define WCD934X_CDC_RATE_EST1_RE_THRESH 0x0e36
+#define WCD934X_CDC_RATE_EST1_RE_STATUS 0x0e37
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_CTRL 0x0e39
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_TIMER2 0x0e3c
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW1 0x0e3d
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW2 0x0e3e
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW3 0x0e3f
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW4 0x0e40
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_OFFSET_BW5 0x0e41
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW1 0x0e42
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW2 0x0e43
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW3 0x0e44
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW4 0x0e45
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMIT_BW5 0x0e46
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW1 0x0e47
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW2 0x0e48
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW3 0x0e49
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW4 0x0e4a
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_LIMITD1_BW5 0x0e4b
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW1 0x0e4c
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW2 0x0e4d
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW3 0x0e4e
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW4 0x0e4f
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_HYST_BW5 0x0e50
+#define WCD934X_CDC_RATE_EST1_RE_RMAX_DIAG 0x0e51
+#define WCD934X_CDC_RATE_EST1_RE_RMIN_DIAG 0x0e52
+#define WCD934X_CDC_RATE_EST1_RE_PH_DET 0x0e53
+#define WCD934X_CDC_RATE_EST1_RE_DIAG_CLR 0x0e54
+#define WCD934X_CDC_RATE_EST1_RE_MB_SW_STATE 0x0e55
+#define WCD934X_CDC_RATE_EST1_RE_MAST_DIAG_STATE 0x0e56
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_7_0 0x0e57
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_15_8 0x0e58
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_23_16 0x0e59
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_31_24 0x0e5a
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_39_32 0x0e5b
+#define WCD934X_CDC_RATE_EST1_RE_RATE_OUT_40_43 0x0e5c
+#define WCD934X_CDC_RATE_EST2_RE_CLK_RST_CTL 0x0e61
+#define WCD934X_CDC_RATE_EST2_RE_CTL 0x0e62
+#define WCD934X_CDC_RATE_EST2_RE_PULSE_SUPR_CTL 0x0e63
+#define WCD934X_CDC_RATE_EST2_RE_TIMER 0x0e64
+#define WCD934X_CDC_RATE_EST2_RE_BW_SW 0x0e65
+#define WCD934X_CDC_RATE_EST2_RE_THRESH 0x0e66
+#define WCD934X_CDC_RATE_EST2_RE_STATUS 0x0e67
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_CTRL 0x0e69
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_TIMER2 0x0e6c
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW1 0x0e6d
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW2 0x0e6e
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW3 0x0e6f
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW4 0x0e70
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_OFFSET_BW5 0x0e71
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW1 0x0e72
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW2 0x0e73
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW3 0x0e74
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW4 0x0e75
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMIT_BW5 0x0e76
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW1 0x0e77
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW2 0x0e78
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW3 0x0e79
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW4 0x0e7a
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_LIMITD1_BW5 0x0e7b
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW1 0x0e7c
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW2 0x0e7d
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW3 0x0e7e
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW4 0x0e7f
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_HYST_BW5 0x0e80
+#define WCD934X_CDC_RATE_EST2_RE_RMAX_DIAG 0x0e81
+#define WCD934X_CDC_RATE_EST2_RE_RMIN_DIAG 0x0e82
+#define WCD934X_CDC_RATE_EST2_RE_PH_DET 0x0e83
+#define WCD934X_CDC_RATE_EST2_RE_DIAG_CLR 0x0e84
+#define WCD934X_CDC_RATE_EST2_RE_MB_SW_STATE 0x0e85
+#define WCD934X_CDC_RATE_EST2_RE_MAST_DIAG_STATE 0x0e86
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_7_0 0x0e87
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_15_8 0x0e88
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_23_16 0x0e89
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_31_24 0x0e8a
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_39_32 0x0e8b
+#define WCD934X_CDC_RATE_EST2_RE_RATE_OUT_40_43 0x0e8c
+#define WCD934X_CDC_RATE_EST3_RE_CLK_RST_CTL 0x0e91
+#define WCD934X_CDC_RATE_EST3_RE_CTL 0x0e92
+#define WCD934X_CDC_RATE_EST3_RE_PULSE_SUPR_CTL 0x0e93
+#define WCD934X_CDC_RATE_EST3_RE_TIMER 0x0e94
+#define WCD934X_CDC_RATE_EST3_RE_BW_SW 0x0e95
+#define WCD934X_CDC_RATE_EST3_RE_THRESH 0x0e96
+#define WCD934X_CDC_RATE_EST3_RE_STATUS 0x0e97
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_CTRL 0x0e99
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_TIMER2 0x0e9c
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW1 0x0e9d
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW2 0x0e9e
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW3 0x0e9f
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW4 0x0ea0
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_OFFSET_BW5 0x0ea1
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW1 0x0ea2
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW2 0x0ea3
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW3 0x0ea4
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW4 0x0ea5
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMIT_BW5 0x0ea6
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW1 0x0ea7
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW2 0x0ea8
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW3 0x0ea9
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW4 0x0eaa
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_LIMITD1_BW5 0x0eab
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW1 0x0eac
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW2 0x0ead
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW3 0x0eae
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW4 0x0eaf
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_HYST_BW5 0x0eb0
+#define WCD934X_CDC_RATE_EST3_RE_RMAX_DIAG 0x0eb1
+#define WCD934X_CDC_RATE_EST3_RE_RMIN_DIAG 0x0eb2
+#define WCD934X_CDC_RATE_EST3_RE_PH_DET 0x0eb3
+#define WCD934X_CDC_RATE_EST3_RE_DIAG_CLR 0x0eb4
+#define WCD934X_CDC_RATE_EST3_RE_MB_SW_STATE 0x0eb5
+#define WCD934X_CDC_RATE_EST3_RE_MAST_DIAG_STATE 0x0eb6
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_7_0 0x0eb7
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_15_8 0x0eb8
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_23_16 0x0eb9
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_31_24 0x0eba
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_39_32 0x0ebb
+#define WCD934X_CDC_RATE_EST3_RE_RATE_OUT_40_43 0x0ebc
+#define WCD934X_PAGE15_PAGE_REGISTER 0x0f00
+#define WCD934X_SPLINE_SRC0_CLK_RST_CTL_0 0x0f01
+#define WCD934X_SPLINE_SRC0_STATUS 0x0f02
+#define WCD934X_SPLINE_SRC1_CLK_RST_CTL_0 0x0f19
+#define WCD934X_SPLINE_SRC1_STATUS 0x0f1a
+#define WCD934X_SPLINE_SRC2_CLK_RST_CTL_0 0x0f31
+#define WCD934X_SPLINE_SRC2_STATUS 0x0f32
+#define WCD934X_SPLINE_SRC3_CLK_RST_CTL_0 0x0f49
+#define WCD934X_SPLINE_SRC3_STATUS 0x0f4a
+#define WCD934X_CDC_DEBUG_DSD0_DEBUG_CFG0 0x0fa1
+#define WCD934X_CDC_DEBUG_DSD0_DEBUG_CFG1 0x0fa2
+#define WCD934X_CDC_DEBUG_DSD0_DEBUG_CFG2 0x0fa3
+#define WCD934X_CDC_DEBUG_DSD0_DEBUG_CFG3 0x0fa4
+#define WCD934X_CDC_DEBUG_DSD1_DEBUG_CFG0 0x0fa5
+#define WCD934X_CDC_DEBUG_DSD1_DEBUG_CFG1 0x0fa6
+#define WCD934X_CDC_DEBUG_DSD1_DEBUG_CFG2 0x0fa7
+#define WCD934X_CDC_DEBUG_DSD1_DEBUG_CFG3 0x0fa8
+#define WCD934X_CDC_DEBUG_SPLINE_SRC_DEBUG_CFG0 0x0fa9
+#define WCD934X_CDC_DEBUG_SPLINE_SRC_DEBUG_CFG1 0x0faa
+#define WCD934X_CDC_DEBUG_RC_RE_ASRC_DEBUG_CFG0 0x0fab
+#define WCD934X_CDC_DEBUG_ANC0_RC0_FIFO_CTL 0x0fac
+#define WCD934X_CDC_DEBUG_ANC0_RC1_FIFO_CTL 0x0fad
+#define WCD934X_CDC_DEBUG_ANC1_RC0_FIFO_CTL 0x0fae
+#define WCD934X_CDC_DEBUG_ANC1_RC1_FIFO_CTL 0x0faf
+#define WCD934X_CDC_DEBUG_ANC_RC_RST_DBG_CNTR 0x0fb0
+#define WCD934X_PAGE80_PAGE_REGISTER 0x5000
+#define WCD934X_CODEC_CPR_WR_DATA_0 0x5001
+#define WCD934X_CODEC_CPR_WR_DATA_1 0x5002
+#define WCD934X_CODEC_CPR_WR_DATA_2 0x5003
+#define WCD934X_CODEC_CPR_WR_DATA_3 0x5004
+#define WCD934X_CODEC_CPR_WR_ADDR_0 0x5005
+#define WCD934X_CODEC_CPR_WR_ADDR_1 0x5006
+#define WCD934X_CODEC_CPR_WR_ADDR_2 0x5007
+#define WCD934X_CODEC_CPR_WR_ADDR_3 0x5008
+#define WCD934X_CODEC_CPR_RD_ADDR_0 0x5009
+#define WCD934X_CODEC_CPR_RD_ADDR_1 0x500a
+#define WCD934X_CODEC_CPR_RD_ADDR_2 0x500b
+#define WCD934X_CODEC_CPR_RD_ADDR_3 0x500c
+#define WCD934X_CODEC_CPR_RD_DATA_0 0x500d
+#define WCD934X_CODEC_CPR_RD_DATA_1 0x500e
+#define WCD934X_CODEC_CPR_RD_DATA_2 0x500f
+#define WCD934X_CODEC_CPR_RD_DATA_3 0x5010
+#define WCD934X_CODEC_CPR_ACCESS_CFG 0x5011
+#define WCD934X_CODEC_CPR_ACCESS_STATUS 0x5012
+#define WCD934X_CODEC_CPR_NOM_CX_VDD 0x5021
+#define WCD934X_CODEC_CPR_SVS_CX_VDD 0x5022
+#define WCD934X_CODEC_CPR_SVS2_CX_VDD 0x5023
+#define WCD934X_CODEC_CPR_NOM_MX_VDD 0x5024
+#define WCD934X_CODEC_CPR_SVS_MX_VDD 0x5025
+#define WCD934X_CODEC_CPR_SVS2_MX_VDD 0x5026
+#define WCD934X_CODEC_CPR_SVS2_MIN_CX_VDD 0x5027
+#define WCD934X_CODEC_CPR_MAX_SVS2_STEP 0x5028
+#define WCD934X_CODEC_CPR_CTL 0x5029
+#define WCD934X_CODEC_CPR_SW_MODECHNG_STATUS 0x502a
+#define WCD934X_CODEC_CPR_SW_MODECHNG_START 0x502b
+#define WCD934X_CODEC_CPR_CPR_STATUS 0x502c
+#define WCD934X_PAGE128_PAGE_REGISTER 0x8000
+#define WCD934X_TLMM_BIST_MODE_PINCFG 0x8001
+#define WCD934X_TLMM_RF_PA_ON_PINCFG 0x8002
+#define WCD934X_TLMM_INTR1_PINCFG 0x8003
+#define WCD934X_TLMM_INTR2_PINCFG 0x8004
+#define WCD934X_TLMM_SWR_DATA_PINCFG 0x8005
+#define WCD934X_TLMM_SWR_CLK_PINCFG 0x8006
+#define WCD934X_TLMM_I2S_2_SCK_PINCFG 0x8007
+#define WCD934X_TLMM_SLIMBUS_DATA1_PINCFG 0x8008
+#define WCD934X_TLMM_SLIMBUS_DATA2_PINCFG 0x8009
+#define WCD934X_TLMM_SLIMBUS_CLK_PINCFG 0x800a
+#define WCD934X_TLMM_I2C_CLK_PINCFG 0x800b
+#define WCD934X_TLMM_I2C_DATA_PINCFG 0x800c
+#define WCD934X_TLMM_I2S_0_RX_PINCFG 0x800d
+#define WCD934X_TLMM_I2S_0_TX_PINCFG 0x800e
+#define WCD934X_TLMM_I2S_0_SCK_PINCFG 0x800f
+#define WCD934X_TLMM_I2S_0_WS_PINCFG 0x8010
+#define WCD934X_TLMM_I2S_1_RX_PINCFG 0x8011
+#define WCD934X_TLMM_I2S_1_TX_PINCFG 0x8012
+#define WCD934X_TLMM_I2S_1_SCK_PINCFG 0x8013
+#define WCD934X_TLMM_I2S_1_WS_PINCFG 0x8014
+#define WCD934X_TLMM_DMIC1_CLK_PINCFG 0x8015
+#define WCD934X_TLMM_DMIC1_DATA_PINCFG 0x8016
+#define WCD934X_TLMM_DMIC2_CLK_PINCFG 0x8017
+#define WCD934X_TLMM_DMIC2_DATA_PINCFG 0x8018
+#define WCD934X_TLMM_DMIC3_CLK_PINCFG 0x8019
+#define WCD934X_TLMM_DMIC3_DATA_PINCFG 0x801a
+#define WCD934X_TLMM_JTCK_PINCFG 0x801b
+#define WCD934X_TLMM_GPIO1_PINCFG 0x801c
+#define WCD934X_TLMM_GPIO2_PINCFG 0x801d
+#define WCD934X_TLMM_GPIO3_PINCFG 0x801e
+#define WCD934X_TLMM_GPIO4_PINCFG 0x801f
+#define WCD934X_TLMM_SPI_S_CSN_PINCFG 0x8020
+#define WCD934X_TLMM_SPI_S_CLK_PINCFG 0x8021
+#define WCD934X_TLMM_SPI_S_DOUT_PINCFG 0x8022
+#define WCD934X_TLMM_SPI_S_DIN_PINCFG 0x8023
+#define WCD934X_TLMM_BA_N_PINCFG 0x8024
+#define WCD934X_TLMM_GPIO0_PINCFG 0x8025
+#define WCD934X_TLMM_I2S_2_RX_PINCFG 0x8026
+#define WCD934X_TLMM_I2S_2_WS_PINCFG 0x8027
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_0 0x8031
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_1 0x8032
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_2 0x8033
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_3 0x8034
+#define WCD934X_TEST_DEBUG_PIN_CTL_OE_4 0x8035
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_0 0x8036
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_1 0x8037
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_2 0x8038
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_3 0x8039
+#define WCD934X_TEST_DEBUG_PIN_CTL_DATA_4 0x803a
+#define WCD934X_TEST_DEBUG_PAD_DRVCTL_0 0x803b
+#define WCD934X_TEST_DEBUG_PAD_DRVCTL_1 0x803c
+#define WCD934X_TEST_DEBUG_PIN_STATUS 0x803d
+#define WCD934X_TEST_DEBUG_NPL_DLY_TEST_1 0x803e
+#define WCD934X_TEST_DEBUG_NPL_DLY_TEST_2 0x803f
+#define WCD934X_TEST_DEBUG_MEM_CTRL 0x8040
+#define WCD934X_TEST_DEBUG_DEBUG_BUS_SEL 0x8041
+#define WCD934X_TEST_DEBUG_DEBUG_JTAG 0x8042
+#define WCD934X_TEST_DEBUG_DEBUG_EN_1 0x8043
+#define WCD934X_TEST_DEBUG_DEBUG_EN_2 0x8044
+#define WCD934X_TEST_DEBUG_DEBUG_EN_3 0x8045
+#define WCD934X_TEST_DEBUG_DEBUG_EN_4 0x8046
+#define WCD934X_TEST_DEBUG_DEBUG_EN_5 0x8047
+#define WCD934X_TEST_DEBUG_ANA_DTEST_DIR 0x804a
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_0 0x804b
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_1 0x804c
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_2 0x804d
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_3 0x804e
+#define WCD934X_TEST_DEBUG_PAD_INP_DISABLE_4 0x804f
+#define WCD934X_TEST_DEBUG_SYSMEM_CTRL 0x8050
+#define WCD934X_TEST_DEBUG_SOC_SW_PWR_SEQ_DELAY 0x8051
+#define WCD934X_TEST_DEBUG_LVAL_NOM_LOW 0x8052
+#define WCD934X_TEST_DEBUG_LVAL_NOM_HIGH 0x8053
+#define WCD934X_TEST_DEBUG_LVAL_SVS_SVS2_LOW 0x8054
+#define WCD934X_TEST_DEBUG_LVAL_SVS_SVS2_HIGH 0x8055
+#define WCD934X_TEST_DEBUG_SPI_SLAVE_CHAR 0x8056
+#define WCD934X_TEST_DEBUG_CODEC_DIAGS 0x8057
+#define WCD934X_MAX_REGISTER 0x80FF
+
+/* SLIMBUS Slave Registers */
+#define WCD934X_SLIM_PGD_PORT_INT_RX_EN0 (0x30)
+#define WCD934X_SLIM_PGD_PORT_INT_TX_EN0 (0x32)
+#define WCD934X_SLIM_PGD_PORT_INT_STATUS_RX_0 (0x34)
+#define WCD934X_SLIM_PGD_PORT_INT_STATUS_RX_1 (0x35)
+#define WCD934X_SLIM_PGD_PORT_INT_STATUS_TX_0 (0x36)
+#define WCD934X_SLIM_PGD_PORT_INT_STATUS_TX_1 (0x37)
+#define WCD934X_SLIM_PGD_PORT_INT_CLR_RX_0 (0x38)
+#define WCD934X_SLIM_PGD_PORT_INT_CLR_RX_1 (0x39)
+#define WCD934X_SLIM_PGD_PORT_INT_CLR_TX_0 (0x3A)
+#define WCD934X_SLIM_PGD_PORT_INT_CLR_TX_1 (0x3B)
+#define WCD934X_SLIM_PGD_PORT_INT_RX_SOURCE0 (0x60)
+#define WCD934X_SLIM_PGD_PORT_INT_TX_SOURCE0 (0x70)
+
+#endif
diff --git a/include/linux/mfd/wcd9xxx/core.h b/include/linux/mfd/wcd9xxx/core.h
index 96937a4338a8..75908dfa8d64 100644
--- a/include/linux/mfd/wcd9xxx/core.h
+++ b/include/linux/mfd/wcd9xxx/core.h
@@ -76,6 +76,7 @@ enum codec_variant {
WCD9330,
WCD9335,
WCD9326,
+ WCD934X,
};
enum wcd9xxx_slim_slave_addr_type {
@@ -252,6 +253,7 @@ enum wcd9xxx_chipid_major {
TOMTOM_MAJOR = cpu_to_le16(0x105),
TASHA_MAJOR = cpu_to_le16(0x0),
TASHA2P0_MAJOR = cpu_to_le16(0x107),
+ TAVIL_MAJOR = cpu_to_le16(0x108),
};
enum codec_power_states {
@@ -328,6 +330,7 @@ struct wcd9xxx {
struct wcd9xxx_codec_type *codec_type;
bool prev_pg_valid;
u8 prev_pg;
+ u8 avoid_cdc_rstlow;
struct wcd9xxx_power_region *wcd9xxx_pwr[WCD9XXX_MAX_PWR_REGIONS];
};
diff --git a/include/linux/mfd/wcd9xxx/wcd9xxx-utils.h b/include/linux/mfd/wcd9xxx/wcd9xxx-utils.h
index 441d70b97f4e..7c35d7fecc50 100644
--- a/include/linux/mfd/wcd9xxx/wcd9xxx-utils.h
+++ b/include/linux/mfd/wcd9xxx/wcd9xxx-utils.h
@@ -33,6 +33,13 @@ typedef int (*codec_bringdown_fn)(struct wcd9xxx *);
typedef int (*codec_type_fn)(struct wcd9xxx *,
struct wcd9xxx_codec_type *);
+#ifdef CONFIG_WCD934X_CODEC
+extern int wcd934x_bringup(struct wcd9xxx *wcd9xxx);
+extern int wcd934x_bringdown(struct wcd9xxx *wcd9xxx);
+extern int wcd934x_get_codec_info(struct wcd9xxx *,
+ struct wcd9xxx_codec_type *);
+#endif
+
#ifdef CONFIG_WCD9335_CODEC
extern int wcd9335_bringup(struct wcd9xxx *wcd9xxx);
extern int wcd9335_bringdown(struct wcd9xxx *wcd9xxx);
@@ -52,6 +59,11 @@ static inline codec_bringdown_fn wcd9xxx_bringdown_fn(int type)
codec_bringdown_fn cdc_bdown_fn;
switch (type) {
+#ifdef CONFIG_WCD934X_CODEC
+ case WCD934X:
+ cdc_bdown_fn = wcd934x_bringdown;
+ break;
+#endif
#ifdef CONFIG_WCD9335_CODEC
case WCD9335:
cdc_bdown_fn = wcd9335_bringdown;
@@ -75,6 +87,11 @@ static inline codec_bringup_fn wcd9xxx_bringup_fn(int type)
codec_bringup_fn cdc_bup_fn;
switch (type) {
+#ifdef CONFIG_WCD934X_CODEC
+ case WCD934X:
+ cdc_bup_fn = wcd934x_bringup;
+ break;
+#endif
#ifdef CONFIG_WCD9335_CODEC
case WCD9335:
cdc_bup_fn = wcd9335_bringup;
@@ -98,6 +115,11 @@ static inline codec_type_fn wcd9xxx_get_codec_info_fn(int type)
codec_type_fn cdc_type_fn;
switch (type) {
+#ifdef CONFIG_WCD934X_CODEC
+ case WCD934X:
+ cdc_type_fn = wcd934x_get_codec_info;
+ break;
+#endif
#ifdef CONFIG_WCD9335_CODEC
case WCD9335:
cdc_type_fn = wcd9335_get_codec_info;
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index c0e961474a52..5455b660bd88 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -544,9 +544,7 @@ extern int nfs_readpage_async(struct nfs_open_context *, struct inode *,
static inline loff_t nfs_size_to_loff_t(__u64 size)
{
- if (size > (__u64) OFFSET_MAX - 1)
- return OFFSET_MAX - 1;
- return (loff_t) size;
+ return min_t(u64, size, OFFSET_MAX);
}
static inline ino_t
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 61a5c00e66cd..06dd540192c7 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1482,6 +1482,7 @@ struct task_struct {
u32 init_load_pct;
u64 last_wake_ts;
u64 last_switch_out_ts;
+ u64 last_cpu_selected_ts;
struct related_thread_group *grp;
struct list_head grp_list;
u64 cpu_cycles;
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h
index 50777b5b1e4c..92d112aeec68 100644
--- a/include/linux/shmem_fs.h
+++ b/include/linux/shmem_fs.h
@@ -15,10 +15,7 @@ struct shmem_inode_info {
unsigned int seals; /* shmem seals */
unsigned long flags;
unsigned long alloced; /* data pages alloced to file */
- union {
- unsigned long swapped; /* subtotal assigned to swap */
- char *symlink; /* unswappable short symlink */
- };
+ unsigned long swapped; /* subtotal assigned to swap */
struct shared_policy policy; /* NUMA memory alloc policy */
struct list_head swaplist; /* chain of maybes on swap */
struct simple_xattrs xattrs; /* list of xattrs */
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 9147f9f34cbe..75f136a22a5e 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -219,6 +219,7 @@ struct sk_buff;
#else
#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 1)
#endif
+extern int sysctl_max_skb_frags;
typedef struct skb_frag_struct skb_frag_t;
diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index e7f3180bcb95..a81516c611c4 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -43,6 +43,9 @@
/* Default weight of a bound cooling device */
#define THERMAL_WEIGHT_DEFAULT 0
+/* use value, which < 0K, to indicate an invalid/uninitialized temperature */
+#define THERMAL_TEMP_INVALID -274000
+
/* Unit conversion macros */
#define DECI_KELVIN_TO_CELSIUS(t) ({ \
long _t = (t); \
@@ -201,6 +204,7 @@ struct sensor_info {
* @forced_passive: If > 0, temperature at which to switch on all ACPI
* processor cooling devices. Currently only used by the
* step-wise governor.
+ * @need_update: if equals 1, thermal_zone_device_update needs to be invoked.
* @ops: operations this &thermal_zone_device supports
* @tzp: thermal zone parameters
* @governor: pointer to the governor for this thermal zone
@@ -228,6 +232,7 @@ struct thermal_zone_device {
int emul_temperature;
int passive;
unsigned int forced_passive;
+ atomic_t need_update;
struct thermal_zone_device_ops *ops;
struct thermal_zone_params *tzp;
struct thermal_governor *governor;
diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h
index f01c2ff9845b..6ff6ab8534dd 100644
--- a/include/linux/trace_events.h
+++ b/include/linux/trace_events.h
@@ -575,6 +575,8 @@ enum {
FILTER_DYN_STRING,
FILTER_PTR_STRING,
FILTER_TRACE_FN,
+ FILTER_COMM,
+ FILTER_CPU,
};
extern int trace_event_raw_init(struct trace_event_call *call);
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h
index 03c7efb60c91..27e32b2b602f 100644
--- a/include/linux/tracepoint.h
+++ b/include/linux/tracepoint.h
@@ -148,9 +148,6 @@ extern void syscall_unregfunc(void);
void *it_func; \
void *__data; \
\
- if (!cpu_online(raw_smp_processor_id())) \
- return; \
- \
if (!(cond)) \
return; \
prercu; \
@@ -357,15 +354,19 @@ extern void syscall_unregfunc(void);
* "void *__data, proto" as the callback prototype.
*/
#define DECLARE_TRACE_NOARGS(name) \
- __DECLARE_TRACE(name, void, , 1, void *__data, __data)
+ __DECLARE_TRACE(name, void, , \
+ cpu_online(raw_smp_processor_id()), \
+ void *__data, __data)
#define DECLARE_TRACE(name, proto, args) \
- __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), 1, \
- PARAMS(void *__data, proto), \
- PARAMS(__data, args))
+ __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
+ cpu_online(raw_smp_processor_id()), \
+ PARAMS(void *__data, proto), \
+ PARAMS(__data, args))
#define DECLARE_TRACE_CONDITION(name, proto, args, cond) \
- __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), PARAMS(cond), \
+ __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
+ cpu_online(raw_smp_processor_id()) && (PARAMS(cond)), \
PARAMS(void *__data, proto), \
PARAMS(__data, args))
diff --git a/include/linux/ucs2_string.h b/include/linux/ucs2_string.h
index cbb20afdbc01..bb679b48f408 100644
--- a/include/linux/ucs2_string.h
+++ b/include/linux/ucs2_string.h
@@ -11,4 +11,8 @@ unsigned long ucs2_strlen(const ucs2_char_t *s);
unsigned long ucs2_strsize(const ucs2_char_t *data, unsigned long maxlength);
int ucs2_strncmp(const ucs2_char_t *a, const ucs2_char_t *b, size_t len);
+unsigned long ucs2_utf8size(const ucs2_char_t *src);
+unsigned long ucs2_as_utf8(u8 *dest, const ucs2_char_t *src,
+ unsigned long maxlength);
+
#endif /* _LINUX_UCS2_STRING_H_ */
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index b333c945e571..d0b5ca5d4e08 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -198,6 +198,7 @@ void wbc_attach_and_unlock_inode(struct writeback_control *wbc,
void wbc_detach_inode(struct writeback_control *wbc);
void wbc_account_io(struct writeback_control *wbc, struct page *page,
size_t bytes);
+void cgroup_writeback_umount(void);
/**
* inode_attach_wb - associate an inode with its wb
@@ -301,6 +302,10 @@ static inline void wbc_account_io(struct writeback_control *wbc,
{
}
+static inline void cgroup_writeback_umount(void)
+{
+}
+
#endif /* CONFIG_CGROUP_WRITEBACK */
/*