summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-10-07 08:10:09 -0600
committerLinux Build Service Account <lnxbuild@localhost>2016-10-07 08:10:10 -0600
commit921ae0bdfcefd0427ca50cb90b77fde5ef82733d (patch)
treeb76ec22ff333f4d0cb92bfe5e7296950b189d26b /include
parentb337a74df39b7827972f002b3f8cddb92a8b1cdd (diff)
parent3c7400dc73db9b1455032e8d6e7679f27869cd75 (diff)
Promotion of kernel.lnx.4.4-161007.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- 1074277 Id1ec59664fb457c37dd63df008fbd6c540dffd67 clk: msm: clock-osm: Use read back instead of memory bar 1069735 I8421d4a6ffef7657d3808de0fef95bdea400fe20 ARM: dts: msm: Add a dtsi file for msmcobalt QRD device 1052832 I9ff5cf06b019c566973eb609bf5d37969b98d31d ASoC: soc: change audio drivers to use %pK 1024624 If516737326f51368efa2116298e2d6089df99aa6 ARM: dts: msm: change CX handle for all PCIe nodes on ms 1067965 Ibd9a896ff6746a48ddab249d7c8ab762ed3c2fbe qpnp-smb2: introduce workaround bit mask 1074901 I99b7feb4b9af8480912a0a3b3e9834f0ecd92189 diag: dci: Fix possible out of bound access 1071696 Id8fb80ca0297bc1d1854fdc710abce6a4d2f9620 input: synaptics_dsx_core: make clocks as optional for s 1073815 Ia04d33d84b5622179f7a496daee5584d4e2dde91 Revert "scsi: ufs: gate ref_clk during aggressive clk ga 1074084 I66d1ba1c6c3a942a80d3cee24746b00541fde3bc power: bcl: Listen to battery power supply notification 1074141 I2dd529a78d06ac08a34546df39cb01ad4c6cb3d5 clk: msm: clock-osm: Fix check to write to the LLM OVERR 1058520 1063680 I34193b9971321543bd16262d7b2e817fe26bdd6d ARM: dts: msm: Update VMEM bw for msmcobalt 1070966 I2c88fca3614af7fe58bc858898449d47546da247 usb: xhci: clean up command queue on HC halt failure as 1074236 I96b03d0a4c2a04a405af5a40f9f713443bc5769b usb: pd: Return different errors in devm_usbpd_get_by_ph 1072607 Ife9fdabf20b242a93635532b9a0c4cacc8b88210 clk: qcom: clk-rcg2: Declare the rcg struct in clk_gfx3d 989035 I71235c212b26c3688a8ac5426942f2b88b681d47 lpm-levels: Use residency instead of power and energy va 1070768 I20998435591c44d2ca1a7b6bd5eacac2af0611f6 ASoC: msmcobalt: Add support for TDM 1066972 I7f9493344da2baddb88fd0db14b894fc242d9f9f msm: camera: Fix KW issues in sensor code 1067965 Id3491b6f8927cb1ae7cbc8260defa697ca555765 qcom-charger: add storm watch to qpnp-smb2 and smb138x-c 1052563 Ie8ece84fb613cf6a7b08cea1468473a8df2b9661 RFC: FROMLIST: cgroup: reduce read locked section of cgr 1046014 I92618b736e637b1575a77a7fc18dd384919ed927 ARM: dts: msm: set clock rate before enabling in msmcoba 1052854 I525fcedda71c4928c61825faeea519355675457a qpnp-smb2: smb-lib: expose step charging via battery psy 1074586 Ie8b9abaceaa8585ab5b132076772b9c7ca71cbfe ARM: dts: msm: Vote for 681 MHz DDR for Fmax of all CPU 1068060 Iaf8240c2a6ef0b7739f80b6d0bb30946f61a9ed0 ARM: dts: msm: Correct csiphy clocks and clock rates on 1066750 I7e5788eda609821792718a276e6fe5fa97e68a4a ASoC: wcd-mbhc: increase hs_vref to 1.6v for wcd9335 cod 1053360 I546de1d5a3a41deb0aaa3d5299a709f896d0324f defconfig: enable ext4 encryption for msm8996 and msmcob 1070379 I6745485152d735436d8398818f7fb5e70ce5ee65 sched: Add a stub function for init_clusters() 1067296 Ia6c446eca8a42800e781dfdaf46eab7bd44c126f defconfig: add the iommu options on msmfalcon 1062504 I6df6a254b29d65b91ca4d7744f9163ef9cb6b9ff ARM: dts: msm: add ref_clk entries needed for DisplayPor 1071547 Iab6715a071a5fa5556934d7771a6d07d678e9703 arm64: dma-mapping: Respect device coherency in IOMMU ma 1072607 Iaf98e4d18fc0c3deb75ccce53e1c09cfc9dde550 clk: qcom: Add support for gfx clock to ping pong PLLs 987019 Ia300e3e38b8662afac15edda28959564b05c9367 ion: use %pK instead of %p which respects kptr_restrict 1069202 I2ede3d86d812fbdf757395d92e08e70636e9965a hwmon: qpnp-adc-common: Clamp voltage value 1074914 I6b7ea860a398a7e4dd5f7e23ac3906ff0c6f2b3e ASoc: msm: Enable support for 32 bit format and 384Khz 1054226 Id8738bd8493c11731c5491efcc99eb90f051233e sched: Fix CPU selection when all online CPUs are isolat 1072100 I8b89e71428f566d72e6c2e0026bda207ec53e71c defconfig: enable secure touch option for Synaptics 2.0 1051000 I12f49919a278b176bb85f353f5ce538f22ddc059 msm: sps: correct device base address for register dumpi 1074587 If6a44d83a4088e34eda3604ffa770b46653989f5 ARM: dts: msm: Configure bimc-bwmon4 only for msmcobaltv 1069594 I4bbf404639a97dcc443c9ecc8391623e2fff13fd qpnp-fg-gen3: smb-lib: notify userspace when SOC changes 1071949 Ibe1918cbf525c41d8fa82fc772b3afe20cac6eb7 ASoC: wcd934x-dsp-cntl: add support for subsystem restar 1070644 I4cd08a8ab8a5de6c46643eaff9b61779858887e3 msm: ipa: Fix ipa ready cb return value 1063583 I5b2765f3d2bb618c76c031b3597d1b4418f4e613 ARM: dts: msm: Enable partial update for JDI panel for m 1074734 Iec05a2f9309aba7d9ff81eca4ce683eff1590699 usb: gadget: f_mtp: Handle mtp os desc properly 1064466 I0b342c0307b257cb8c66fcae73dd94d0fb3122db msm: mdss: fix 32-bit compilation errors in MDSS PP/inte 1048890 I3a48a912fb9dea37a6197c1a13c2b41454d2dcff regulator: cpr3-regulator: add support for CPRh aging ad 878591 I57c1f49aa57f645cb96714edd2f297fa06187c03 msm: mdss: add sysfs node to disable panel 1050961 If14af809c443e12bd64e54910602c4aeeca4f0df dwc3-msm: Acquire lock for USB GSI endpoint related oper 989035 I5e69a847d78d14ecbb7caeac383287a1897f7ce8 lpm-levels: Compute minimum residencies for LPM levels 1072767 I679bbf68ee3dcc1aee30d56a646a42b6ff09fb6f msm: kgsl: Disable workaround on A540v2 1066470 Ieccdc3f54f9c9f2cecc6b8578400c6fe44333177 power: qcom: ea: Fix uninitialized temperature and cpu v 1052563 I34aa9c394d3052779b56976693e96d861bd255f2 RFC: FROMLIST: cgroup: avoid synchronize_sched() in __cg 1056777 I4202cfb21868983792e75e8ef6a305030879fb39 ARM: dts: msm: add support for qdss nodes on msmfalcon 1074428 I472a30b6a0e83cdd6957ed12eaa39d0c7731fcb5 msm: kgsl: Reschedule idle work in case transition to id 1032459 I20f639e09aaf3c533c98a12a2413570feae3d6d0 input: synaptics_dsx: allocate heap memory for temp buf 1045949 I85b36357bbb097b79f417c11c947f3405f0ff7ef ASoC: msm: qdsp6v2: Update device mapping for 7 channel 1070376 Id974748c07625c1b19112235f426a5d204dfdb33 sched: add a knob to prefer the waker CPU for sync wakeu 1074198 I61d8f930f7fe8c3539803a1e9b942095df0b0f86 clk: msm: clock-osm: Fix for programming the APM thresho 1073704 If7d8615d50b7104e85482f0efab155a7b4a41321 iommu: msm: add EXPORT_SYMBOL for msm_dma_unmap_all_for_ 1067674 I2e31912667be7bb9d0179b655b8bed425d18a869 msm: camera: isp: Reset undeliver count on stream stop 1052563 I8ea04b4dca2ec36f1c2469eccafde1423490572f RFC: FROMLIST: locking/percpu-rwsem: Optimize readers an 1074660 I3eeefff492889b57837a8334eb933c22d0e4917a drivers: soc: qcom: system_stats: Use arch_counter_get_c 1064728 Ia93d93a442aa848cbd42a5fb8ecad5ef875f9abf ARM: dts: msm: Specify the temperature sensor name for m 1046014 I6ab9a66a7ad34acec9362a6475910c6fd9ec0e98 ARM: dts: msm: Update the max voltage for in msmcobalt 1074483 I5390810861dbc1da368757df2b20e5daa35bd081 soc: qcom: Use syncronization while freeing the qmi_clie 1067996 I3ca87ec06e6204e3cecb137d8d8b4f1cedfc3fe1 msm: camera: isp: Fix overflow recovery 1070327 I4cc20bd7070a51a121a0da33c9b30233443bb543 ASoC: wcd934x: set up path from MAD to slimbus for wcd93 1073621 I62326a097cbd71a3ec2b93a0120284d8f71f5d57 ASoC: msm: qdsp6v2: support for configurable bit format 1074596 I2640b20f35339449b9bf44c885e8baf9651596bc thermal: lmh_lite: Page align all the buffers to TZ 1066421 I3f154dffefb5b834a166e4dca520d5fc53ad7133 msm: camera: isp: Vote ahb clock to nominal. 1064457 I0bde105ac751f9e26572efc387dfd88414e0c22d msm: camera: isp: Check the stream handles from user 1047362 1047365 I6d8f31cf841cb977bd1d7af3441b9d2c1da9b85c ARM: dts: msm: enable mi2s and aux pcm on msmcobalt 1070500 I08506b8a2327a81609e5d4d8d586024d566864eb ARM: dts: msm: Add Temperature sensor support for msmtri 1066392 If550b500f7f0b21b134b424c39ebb6bc4a5a40d5 msm: camera: isp: Print overflow information 1003878 I561bace8a813a35a9fc624fca4861c5b1109b69b arm: topology: Define arch_get_cpu_efficiency() API for 1054226 I4c9ee39c715baebfbdb8a50476a475e38b092f70 hrtimer: Ensure timer is not running before migrating 1070327 Ia79f862379ad32e5a44dce6bdc905d2083a45b60 ARM: dts: msm: connect MADINPUT with MCLK on msmcobalt 1074914 I3b013bedde8ccfa97a02e255e237df0cf2de13b8 ASoC: msm: qdsp6v2: add support for latest version of me 1071949 Icc415e911653012726e5b81b4fc09199560d5691 ASoC: wcd-spi: fix clock disable 1066480 I5adc7c2fca73aad765062360cf560eae2eee7d1e ARM: dts: msm: enable FG cycle counting for PMICOBALT 1072607 I210432d27f433f3160db53a842e503c83fd14891 clk: qcom: Add support for RPM clocks for MSMfalcon 1064466 Idd9ad7fd957af2dd23e807f5414c19029f53bc29 defconfig: msm: enable display related configs for 32-bi 1011655 Idf38cb6c4e78c91fda3c86608c6d0441f01ab435 blk-mq: use static mapping 1070379 Iac19183fa7d4bfd9e5746b02a02b2b19cf64b78d sched: Add a device tree property to specify the sched b 1070087 I805ec63d125770b869cac892db8cf56f45510d6d ASoC: wcd934x-dsp-cntl: add ramdump support 1070295 I549abf9978a19da5bbd258d803287464cd73f23c lib: spinlock: Change MSM_WATCHDOG_V2 to QCOM_WATCHDOG_V 1071547 Icbb7a7eaf6c6e85c3ff4f981fe1dd1c3917228dc iommu/io-pgtable-arm: Support SMMU coherent page tables 1068593 Ib359e41b7381149a270a5772540bbc80f920919f of_batterydata: add snapshot of DT bindings documentatio 1035554 I95c4d6f0840ebc0a50caf9c6c267bc152e2311cc ARM: dts: msm: Fill FD clock rates array for msmcobalt 1074875 I59a41725e2d8f9238a61dfb0c909071b53560fc0 sched/tune: add sysctl interface to define a boost value 1067229 I96317fc58f1610e87180ef970104b0a3a4080595 msm: vidc: Add support for TP10 color format 1063261 I37ac0cf1845c96e6d9e0f8fffd6481e8c32efa50 wil6210: extract firmware version from file header 1071547 Ib026ec24520905cbcbb41b31b4bfa141cf87f37b arm64: dma-mapping: Remove unused dma_map_ops 1072607 I560d62f9698ddf73848186a6740632735d574b0f arm/arm64: Kconfig: Add support to use the CLK_QCOM for 1065286 I4f29ee151158cd70a1617d365decc7d3fd8fe6ac ion: ion_system_heap: SetPagePrivate when splitting secu 1074250 Ifd1d90402d6f79dc96246c4825d46d41296b0ba5 icnss: Remove unused suspend/resume functions 1057562 Id4bf6b6221a18231d7f8e6e592402d826d98e3da ARM: dts: msm: add TSPP support for msmcobalt 1061474 Iac5b202343bcf0265baf7732196b33dc5fe9c18d ARM: dts: msm: add a new panel driver for MSMCOBALT QRD 1073276 Ief9e4ff118691d74782f4f405dc195cb9bdb7c32 scsi: ufs_test: fix use after free issue 1053832 I020b5518fcaedd4fecc572b580a989bf117f6ceb msm: kgsl: Add facility to BUG_ON for a gpu fault 1074535 I8f7bf069523a8f3ea37e0a32a2e32830944a5c97 usb: gadget: f_qc_rndis: Add RNDIS support using IPA ove 1072767 Ibf1d5058a1273e1f558afa3871e27c9d124956a5 msm: kgsl: Add A540v2 to adreno gpulist 1064728 I414a07ff4f9ee14b8f882d15644b06a73d5fcf76 msm: kgsl: Add and link gpu sysfs nodes 1065689 If040c86e7661b107f862caba1cd990e71de10b00 msm: camera: isp: Fix for sleeping function call inside 1070087 Ib91cd4fc1476ee1a9ec448cde1a083070443f726 ASoC: wcd-dsp-mgr: add support for collecting memory dum 1055978 I6ff45d25f18063cbed70181b22ab0b07b4da4dc1 iio: rradc: Remove scaled support for battery thermistor 1066418 I92b8ff43f3b4604bba43aa1eb1ea110863bd12a7 ARM: dts: msm: camera: Use correct clock on msmcobalt 1065916 I0e31c22f90006f27a77cd420288334b8355cee95 msm: sensor: validate the i2c table index before use 1072772 Ibfe29a3950fabfcf8baa5d08b15e0f056dcc1f2a icnss: Ignore PD down if WLAN FW doesn't exists 1064457 Ia17d8fb224ef2709761f03464aaf2d4541566817 msm: camera: isp: Initialize completion structure 1070087 If7fb228dc15cb47079c8a791443c4d12c29eeb9c ASoC: wcd-spi: add support to read requested section of 1056307 Ifd1f4e828373535fdf963aad22b217ae880c778c msm: sensor: Avoid potential stack overflow 1070500 Ia296ff112456f8959a2c769ab1e7afbccec23ba1 thermal: tsens: Enable TSENS for msmtriton 1069590 I50cdd8c706b10f08dc7f322ea02358f3dbce521e smb-lib: notify userspace upon usb plugin interrupt 1071949 If3ec6202b4729b24ee839c3a8aa4edf2482d6e59 ASoC: wcd-dsp-mgr: set status before broadcasting post e 1062752 I407920d63b4600b610794141e5b7ceb5a33980c1 clk: msm: mdss: update PLL configuration to clear precal 1069091 I898f627ce90251166a5f4314daca61e5ba958e6b ARM: dts: msm: Remove clocks listed under GPU, PCIE, USB 1073307 Ic42b2f9e7441ffb4e1bfe8211f85aadb72c22ed3 ASoC: msm: qdsp6v2: Remove 48khz constraint 1050172 I01f3f726c484a929db3a1d8dff6f31806beb8dc3 msm: camera: isp: Clock changes for isp and ispif 1070764 Id3cabe07ee92a7c3546eab304f650d397b94f7de ARM: dts: msm: add support for TDM 1065379 I6c28e0fe752fba3f4674b6b5ba454fce5b6e7665 msm: mdss: increase SMMU mapping range for all context b 1074879 I36408ae65833b624401e60edfb50c19cc061d7bf sched: Initialize HMP stats inside init_sd_lb_stats() 1074535 I24f3dcb14c6467ab4c2d2eda464dfacda2c5b426 usb: gadget: f_qc_rndis: Add support for configfs 1003878 If2885675ce3d7b43c3b2568fe1e29a76f48a5c3d arm: topology: Allow specifying the CPU efficiency from 1074347 Ib3af9004f2462618c535b8195377bedb584d0261 sched: Fix a division by zero bug in scale_exec_time() 989035 I902a06939e19ac51dfd8c2db6b727b203ebfda14 cpuidle: lpm-levels: Consider history during LPM selecti 1070087 I1c049227875a802491e21998c13c0bcd8eab7de6 ASoC: wcd-dsp-mgr: add argument to the interrupt handler 1032459 Ia8afa5e9cb60c074f13331533630f2583e466d89 defconfig: msmcortex: disable RMI4 dev module 1072059 I284abb5889ceb8cf9cc689c79ed69422a0e74986 sched: Fix integer overflow in sched_update_nr_prod() 1050738 I5877666c39ac9cad713a5802521527dd8552440c qcom-charger: Fix CC settings for PD session 1069371 I844d6e1ac1b2b171cd74a2601ae09280a22589c9 ASoC: msm: qdsp6v2: Fix improper channel config for aac 1069565 I226242bf994e659d8018a885f20c3a3f80b9b8e5 iommu: Fix compilation error without CONFIG_IOMMU_API 1048890 I51a6762d026e7b5a4e39e957144f1b21c5ef121a regulator: cprh-kbss-regulator: add CPR aging adjustment 1071949 I4662b5120bf7f731e399a27d8a613e2f3b648b00 ASoC: wcd-dsp-mgr: add support for subsystem restart 1073320 I5e410ebabf4e8066abedda147879444a38b8871b diag: Do not wait for the intent availability indefinetl 1074767 Ia0cb418d886d6dd066d956c359a39af3ab47c9f2 usb: gadget: f_gsi: Enable auto detect RNDIS device on w 989035 Iae8b6ad74ef0f28d9c542315745577b1a5924664 lpm-levels: Fix low power mode selection 1066480 I923c657132d071eff4b5bc61c00fb90de8dde62c qpnp-fg-gen3: add support for bucket cycle counter 1050605 I6210e244e6299ec747836f40d03e92c15c6e53ee ASoC: msm: Update the error handling when APR sends pack 1065147 Ic20405cf2f64c6bc38e994780577b7da42cf6aba coresight: hwtracing: fix dangling pointer issues 1052844 I065cff2a9e092d74d0e8c35da6551fab3805e83e rmnet_data: Changing format specifier to %pK 1073043 I24e3f888167b7ff593373bfc4a55ce81cfc9e5c7 defconfig: msm: disable RMI4 dev module 1065389 Ic142026e8963830cda5c2d607e6e96f66c39d1bb msm: camera: isp: Fix bandwidth voting 1065232 I63f3e0747ffc1e703a068c6ac649e6242f285b9b icnss: Handle graceful Modem shutdown 1072272 I39119c9dd527dec6a9f4745c0502c83d083f4b26 clk: msm: clock-gpu-cobalt: Update the graphics core clo 1069748 Idfbe229a39bda728aebbdecd45e468b808026ff8 msm: sde: fix wrong chroma stride for h2v1/h1v2 formats 1065563 I83cb2380b6ca56768c06e70ef1bf9ea3976b514a fuse: Grab the fc->lock for inode updates in passthrough 1024624 I92ea27a1319a43e393009034ed4611b1bf8820d5 ARM: dts: msm: change PCIe2 to vote for nominal on msm89 1067965 Idf4bb1421d0dbec295f92f84174cd4bbc6130250 qcom-charger: add support to watch storm of events 1074914 I576bd9c3c776ad5c24a15adf1447a9206dc61b89 ASoC: msmcobalt: Update machine driver to support 32 bit Change-Id: Ia4b33771080c838bf8bda7c42515f06d7ddf9e70 CRs-Fixed: 1071547, 1069202, 1057562, 1055978, 1035554, 989035, 1067296, 1074428, 1071949, 1046014, 1063261, 1073043, 1065689, 1066750, 1072059, 1064728, 1074586, 1074587, 1074914, 1065286, 1074901, 1072272, 1063680, 1074535, 1053360, 1071696, 1032459, 1074347, 1065232, 1067996, 1072100, 1070644, 1072772, 1067229, 1074734, 1070376, 1048890, 1052844, 1070379, 1073704, 1069748, 878591, 1050172, 1052563, 1074236, 1072767, 1069594, 1003878, 1069371, 1074483, 1073307, 1068593, 1058520, 1056307, 1070768, 1065916, 1074084, 1073276, 1050605, 1064457, 1063583, 1065563, 1070966, 1045949, 1074250, 1062752, 1074660, 1066421, 1052854, 1074141, 1056777, 1066480, 1070500, 1069565, 1053832, 1073815, 1070295, 1065379, 1065147, 1070764, 1066418, 1066392, 1054226, 987019, 1073621, 1066470, 1074875, 1011655, 1024624, 1050738, 1074879, 1047365, 1064466, 1066972, 1074277, 1069091, 1052832, 1074767, 1068060, 1073320, 1072607, 1070087, 1069590, 1070327, 1069735, 1067965, 1047362, 1062504, 1074198, 1050961, 1051000, 1065389, 1074596, 1067674, 1061474
Diffstat (limited to 'include')
-rw-r--r--include/linux/dma-mapping-fast.h2
-rw-r--r--include/linux/iommu.h4
-rw-r--r--include/linux/msm_dma_iommu_mapping.h2
-rw-r--r--include/linux/percpu-rwsem.h84
-rw-r--r--include/linux/rcu_sync.h1
-rw-r--r--include/linux/sched/sysctl.h17
-rw-r--r--include/soc/qcom/icnss.h2
-rw-r--r--include/sound/apr_audio-v2.h137
-rw-r--r--include/sound/q6afe-v2.h2
-rw-r--r--include/sound/q6asm-v2.h64
-rw-r--r--include/sound/wcd-dsp-mgr.h14
-rw-r--r--include/trace/events/trace_msm_low_power.h50
-rw-r--r--include/uapi/linux/msm_vidc_dec.h6
13 files changed, 366 insertions, 19 deletions
diff --git a/include/linux/dma-mapping-fast.h b/include/linux/dma-mapping-fast.h
index aa9fcfe73162..ddd126c0fd85 100644
--- a/include/linux/dma-mapping-fast.h
+++ b/include/linux/dma-mapping-fast.h
@@ -16,6 +16,8 @@
#include <linux/iommu.h>
#include <linux/io-pgtable-fast.h>
+struct dma_iommu_mapping;
+
struct dma_fast_smmu_mapping {
struct device *dev;
struct iommu_domain *domain;
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 56855724271c..f4f5af978c7c 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -650,8 +650,8 @@ static inline void iommu_device_unlink(struct device *dev, struct device *link)
{
}
-static int iommu_dma_supported(struct iommu_domain *domain, struct device *dev,
- u64 mask)
+static inline int iommu_dma_supported(struct iommu_domain *domain,
+ struct device *dev, u64 mask)
{
return -EINVAL;
}
diff --git a/include/linux/msm_dma_iommu_mapping.h b/include/linux/msm_dma_iommu_mapping.h
index 76451faa2073..73e69383b9b6 100644
--- a/include/linux/msm_dma_iommu_mapping.h
+++ b/include/linux/msm_dma_iommu_mapping.h
@@ -90,7 +90,7 @@ static inline void msm_dma_unmap_sg(struct device *dev,
{
}
-int msm_dma_unmap_all_for_dev(struct device *dev)
+static inline int msm_dma_unmap_all_for_dev(struct device *dev)
{
return 0;
}
diff --git a/include/linux/percpu-rwsem.h b/include/linux/percpu-rwsem.h
index c2fa3ecb0dce..146efefde2a1 100644
--- a/include/linux/percpu-rwsem.h
+++ b/include/linux/percpu-rwsem.h
@@ -10,30 +10,96 @@
struct percpu_rw_semaphore {
struct rcu_sync rss;
- unsigned int __percpu *fast_read_ctr;
+ unsigned int __percpu *read_count;
struct rw_semaphore rw_sem;
- atomic_t slow_read_ctr;
- wait_queue_head_t write_waitq;
+ wait_queue_head_t writer;
+ int readers_block;
};
-extern void percpu_down_read(struct percpu_rw_semaphore *);
-extern int percpu_down_read_trylock(struct percpu_rw_semaphore *);
-extern void percpu_up_read(struct percpu_rw_semaphore *);
+extern int __percpu_down_read(struct percpu_rw_semaphore *, int);
+extern void __percpu_up_read(struct percpu_rw_semaphore *);
+
+static inline void percpu_down_read(struct percpu_rw_semaphore *sem)
+{
+ might_sleep();
+
+ rwsem_acquire_read(&sem->rw_sem.dep_map, 0, 0, _RET_IP_);
+
+ preempt_disable();
+ /*
+ * We are in an RCU-sched read-side critical section, so the writer
+ * cannot both change sem->state from readers_fast and start checking
+ * counters while we are here. So if we see !sem->state, we know that
+ * the writer won't be checking until we're past the preempt_enable()
+ * and that one the synchronize_sched() is done, the writer will see
+ * anything we did within this RCU-sched read-size critical section.
+ */
+ __this_cpu_inc(*sem->read_count);
+ if (unlikely(!rcu_sync_is_idle(&sem->rss)))
+ __percpu_down_read(sem, false); /* Unconditional memory barrier */
+ preempt_enable();
+ /*
+ * The barrier() from preempt_enable() prevents the compiler from
+ * bleeding the critical section out.
+ */
+}
+
+static inline int percpu_down_read_trylock(struct percpu_rw_semaphore *sem)
+{
+ int ret = 1;
+
+ preempt_disable();
+ /*
+ * Same as in percpu_down_read().
+ */
+ __this_cpu_inc(*sem->read_count);
+ if (unlikely(!rcu_sync_is_idle(&sem->rss)))
+ ret = __percpu_down_read(sem, true); /* Unconditional memory barrier */
+ preempt_enable();
+ /*
+ * The barrier() from preempt_enable() prevents the compiler from
+ * bleeding the critical section out.
+ */
+
+ if (ret)
+ rwsem_acquire_read(&sem->rw_sem.dep_map, 0, 1, _RET_IP_);
+
+ return ret;
+}
+
+static inline void percpu_up_read(struct percpu_rw_semaphore *sem)
+{
+ /*
+ * The barrier() in preempt_disable() prevents the compiler from
+ * bleeding the critical section out.
+ */
+ preempt_disable();
+ /*
+ * Same as in percpu_down_read().
+ */
+ if (likely(rcu_sync_is_idle(&sem->rss)))
+ __this_cpu_dec(*sem->read_count);
+ else
+ __percpu_up_read(sem); /* Unconditional memory barrier */
+ preempt_enable();
+
+ rwsem_release(&sem->rw_sem.dep_map, 1, _RET_IP_);
+}
extern void percpu_down_write(struct percpu_rw_semaphore *);
extern void percpu_up_write(struct percpu_rw_semaphore *);
extern int __percpu_init_rwsem(struct percpu_rw_semaphore *,
const char *, struct lock_class_key *);
+
extern void percpu_free_rwsem(struct percpu_rw_semaphore *);
-#define percpu_init_rwsem(brw) \
+#define percpu_init_rwsem(sem) \
({ \
static struct lock_class_key rwsem_key; \
- __percpu_init_rwsem(brw, #brw, &rwsem_key); \
+ __percpu_init_rwsem(sem, #sem, &rwsem_key); \
})
-
#define percpu_rwsem_is_held(sem) lockdep_is_held(&(sem)->rw_sem)
static inline void percpu_rwsem_release(struct percpu_rw_semaphore *sem,
diff --git a/include/linux/rcu_sync.h b/include/linux/rcu_sync.h
index a63a33e6196e..ece7ed9a4a70 100644
--- a/include/linux/rcu_sync.h
+++ b/include/linux/rcu_sync.h
@@ -59,6 +59,7 @@ static inline bool rcu_sync_is_idle(struct rcu_sync *rsp)
}
extern void rcu_sync_init(struct rcu_sync *, enum rcu_sync_type);
+extern void rcu_sync_enter_start(struct rcu_sync *);
extern void rcu_sync_enter(struct rcu_sync *);
extern void rcu_sync_exit(struct rcu_sync *);
extern void rcu_sync_dtor(struct rcu_sync *);
diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h
index 1f9c2c734b20..9fe71c774543 100644
--- a/include/linux/sched/sysctl.h
+++ b/include/linux/sched/sysctl.h
@@ -64,6 +64,7 @@ extern unsigned int sysctl_sched_pred_alert_freq;
extern unsigned int sysctl_sched_freq_aggregate;
extern unsigned int sysctl_sched_enable_thread_grouping;
extern unsigned int sysctl_sched_freq_aggregate_threshold_pct;
+extern unsigned int sysctl_sched_prefer_sync_wakee_to_waker;
#else /* CONFIG_SCHED_HMP */
@@ -120,6 +121,22 @@ extern int sysctl_sched_rt_runtime;
extern unsigned int sysctl_sched_cfs_bandwidth_slice;
#endif
+#ifdef CONFIG_SCHED_TUNE
+extern unsigned int sysctl_sched_cfs_boost;
+int sysctl_sched_cfs_boost_handler(struct ctl_table *table, int write,
+ void __user *buffer, size_t *length,
+ loff_t *ppos);
+static inline unsigned int get_sysctl_sched_cfs_boost(void)
+{
+ return sysctl_sched_cfs_boost;
+}
+#else
+static inline unsigned int get_sysctl_sched_cfs_boost(void)
+{
+ return 0;
+}
+#endif
+
#ifdef CONFIG_SCHED_AUTOGROUP
extern unsigned int sysctl_sched_autogroup_enabled;
#endif
diff --git a/include/soc/qcom/icnss.h b/include/soc/qcom/icnss.h
index 8704b2e7cfbc..473cb5fb375e 100644
--- a/include/soc/qcom/icnss.h
+++ b/include/soc/qcom/icnss.h
@@ -24,8 +24,6 @@ struct icnss_driver_ops {
void (*shutdown)(struct device *dev);
int (*reinit)(struct device *dev);
void (*crash_shutdown)(void *pdev);
- int (*suspend)(struct device *dev, pm_message_t state);
- int (*resume)(struct device *dev);
int (*pm_suspend)(struct device *dev);
int (*pm_resume)(struct device *dev);
int (*suspend_noirq)(struct device *dev);
diff --git a/include/sound/apr_audio-v2.h b/include/sound/apr_audio-v2.h
index e1bdca690cc9..06b72b262395 100644
--- a/include/sound/apr_audio-v2.h
+++ b/include/sound/apr_audio-v2.h
@@ -2943,7 +2943,7 @@ struct asm_aac_enc_cfg_v2_t {
* number of channels at the input.
* The number of channels must not change during encoding.
*/
- uint32_t channel_cfg;
+ uint16_t channel_cfg;
/*
* Number of samples per second.
@@ -3678,6 +3678,8 @@ struct asm_softvolume_params {
#define ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V3 0x00010DDC
+#define ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V4 0x0001320C
+
#define ASM_MEDIA_FMT_EVRCB_FS 0x00010BEF
#define ASM_MEDIA_FMT_EVRCWB_FS 0x00010BF0
@@ -3780,6 +3782,56 @@ struct asm_multi_channel_pcm_fmt_blk_v3 {
*/
} __packed;
+struct asm_multi_channel_pcm_fmt_blk_v4 {
+ uint16_t num_channels;
+/*
+ * Number of channels
+ * Supported values: 1 to 8
+ */
+
+ uint16_t bits_per_sample;
+/*
+ * Number of bits per sample per channel
+ * Supported values: 16, 24, 32
+ */
+
+ uint32_t sample_rate;
+/*
+ * Number of samples per second
+ * Supported values: 2000 to 48000, 96000,192000 Hz
+ */
+
+ uint16_t is_signed;
+/* Flag that indicates that PCM samples are signed (1) */
+
+ uint16_t sample_word_size;
+/*
+ * Size in bits of the word that holds a sample of a channel.
+ * Supported values: 12,24,32
+ */
+
+ uint8_t channel_mapping[8];
+/*
+ * Each element, i, in the array describes channel i inside the buffer where
+ * 0 <= i < num_channels. Unused channels are set to 0.
+ */
+ uint16_t endianness;
+/*
+ * Flag to indicate the endianness of the pcm sample
+ * Supported values: 0 - Little endian (all other formats)
+ * 1 - Big endian (AIFF)
+ */
+ uint16_t mode;
+/*
+ * Mode to provide additional info about the pcm input data.
+ * Supported values: 0 - Default QFs (Q15 for 16b, Q23 for packed 24b,
+ * Q31 for unpacked 24b or 32b)
+ * 15 - for 16 bit
+ * 23 - for 24b packed or 8.24 format
+ * 31 - for 24b unpacked or 32bit
+ */
+} __packed;
+
/*
* Payload of the multichannel PCM configuration parameters in
* the ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V3 media format.
@@ -3790,6 +3842,16 @@ struct asm_multi_channel_pcm_fmt_blk_param_v3 {
struct asm_multi_channel_pcm_fmt_blk_v3 param;
} __packed;
+/*
+ * Payload of the multichannel PCM configuration parameters in
+ * the ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V4 media format.
+ */
+struct asm_multi_channel_pcm_fmt_blk_param_v4 {
+ struct apr_hdr hdr;
+ struct asm_data_cmd_media_fmt_update_v2 fmt_blk;
+ struct asm_multi_channel_pcm_fmt_blk_v4 param;
+} __packed;
+
struct asm_stream_cmd_set_encdec_param {
u32 param_id;
/* ID of the parameter. */
@@ -3825,6 +3887,79 @@ struct asm_dec_ddp_endp_param_v2 {
int endp_param_value;
} __packed;
+/*
+ * Payload of the multichannel PCM encoder configuration parameters in
+ * the ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V4 media format.
+ */
+
+struct asm_multi_channel_pcm_enc_cfg_v4 {
+ struct apr_hdr hdr;
+ struct asm_stream_cmd_set_encdec_param encdec;
+ struct asm_enc_cfg_blk_param_v2 encblk;
+ uint16_t num_channels;
+ /*
+ * Number of PCM channels.
+ * @values
+ * - 0 -- Native mode
+ * - 1 -- 8 channels
+ * Native mode indicates that encoding must be performed with the number
+ * of channels at the input.
+ */
+ uint16_t bits_per_sample;
+ /*
+ * Number of bits per sample per channel.
+ * @values 16, 24
+ */
+ uint32_t sample_rate;
+ /*
+ * Number of samples per second.
+ * @values 0, 8000 to 48000 Hz
+ * A value of 0 indicates the native sampling rate. Encoding is
+ * performed at the input sampling rate.
+ */
+ uint16_t is_signed;
+ /*
+ * Flag that indicates the PCM samples are signed (1). Currently, only
+ * signed PCM samples are supported.
+ */
+ uint16_t sample_word_size;
+ /*
+ * The size in bits of the word that holds a sample of a channel.
+ * @values 16, 24, 32
+ * 16-bit samples are always placed in 16-bit words:
+ * sample_word_size = 1.
+ * 24-bit samples can be placed in 32-bit words or in consecutive
+ * 24-bit words.
+ * - If sample_word_size = 32, 24-bit samples are placed in the
+ * most significant 24 bits of a 32-bit word.
+ * - If sample_word_size = 24, 24-bit samples are placed in
+ * 24-bit words. @tablebulletend
+ */
+ uint8_t channel_mapping[8];
+ /*
+ * Channel mapping array expected at the encoder output.
+ * Channel[i] mapping describes channel i inside the buffer, where
+ * 0 @le i < num_channels. All valid used channels must be present at
+ * the beginning of the array.
+ * If Native mode is set for the channels, this field is ignored.
+ * @values See Section @xref{dox:PcmChannelDefs}
+ */
+ uint16_t endianness;
+ /*
+ * Flag to indicate the endianness of the pcm sample
+ * Supported values: 0 - Little endian (all other formats)
+ * 1 - Big endian (AIFF)
+ */
+ uint16_t mode;
+ /*
+ * Mode to provide additional info about the pcm input data.
+ * Supported values: 0 - Default QFs (Q15 for 16b, Q23 for packed 24b,
+ * Q31 for unpacked 24b or 32b)
+ * 15 - for 16 bit
+ * 23 - for 24b packed or 8.24 format
+ * 31 - for 24b unpacked or 32bit
+ */
+} __packed;
/*
* Payload of the multichannel PCM encoder configuration parameters in
diff --git a/include/sound/q6afe-v2.h b/include/sound/q6afe-v2.h
index 9ed6510cd0e1..31f7c02b54b3 100644
--- a/include/sound/q6afe-v2.h
+++ b/include/sound/q6afe-v2.h
@@ -281,7 +281,7 @@ void afe_set_cal_mode(u16 port_id, enum afe_cal_mode afe_cal_mode);
int afe_port_start(u16 port_id, union afe_port_config *afe_config,
u32 rate);
int afe_port_start_v2(u16 port_id, union afe_port_config *afe_config,
- u32 rate, u16 afe_in_channels,
+ u32 rate, u16 afe_in_channels, u16 afe_in_bit_width,
struct afe_enc_config *enc_config);
int afe_spk_prot_feed_back_cfg(int src_port, int dst_port,
int l_ch, int r_ch, u32 enable);
diff --git a/include/sound/q6asm-v2.h b/include/sound/q6asm-v2.h
index 8525f2e7f738..f08bd73edb59 100644
--- a/include/sound/q6asm-v2.h
+++ b/include/sound/q6asm-v2.h
@@ -97,6 +97,24 @@
#define ASM_SHIFT_GAPLESS_MODE_FLAG 31
#define ASM_SHIFT_LAST_BUFFER_FLAG 30
+#define ASM_LITTLE_ENDIAN 0
+#define ASM_BIG_ENDIAN 1
+
+/* PCM_MEDIA_FORMAT_Version */
+enum {
+ PCM_MEDIA_FORMAT_V2 = 0,
+ PCM_MEDIA_FORMAT_V3,
+ PCM_MEDIA_FORMAT_V4,
+};
+
+/* PCM format modes in DSP */
+enum {
+ DEFAULT_QF = 0,
+ Q15 = 15,
+ Q23 = 23,
+ Q31 = 31,
+};
+
/* payload structure bytes */
#define READDONE_IDX_STATUS 0
#define READDONE_IDX_BUFADD_LSW 1
@@ -245,6 +263,9 @@ int q6asm_open_read_v2(struct audio_client *ac, uint32_t format,
int q6asm_open_read_v3(struct audio_client *ac, uint32_t format,
uint16_t bits_per_sample);
+int q6asm_open_read_v4(struct audio_client *ac, uint32_t format,
+ uint16_t bits_per_sample);
+
int q6asm_open_write(struct audio_client *ac, uint32_t format
/*, uint16_t bits_per_sample*/);
@@ -257,6 +278,9 @@ int q6asm_open_shared_io(struct audio_client *ac,
int q6asm_open_write_v3(struct audio_client *ac, uint32_t format,
uint16_t bits_per_sample);
+int q6asm_open_write_v4(struct audio_client *ac, uint32_t format,
+ uint16_t bits_per_sample);
+
int q6asm_stream_open_write_v2(struct audio_client *ac, uint32_t format,
uint16_t bits_per_sample, int32_t stream_id,
bool is_gapless_mode);
@@ -265,6 +289,10 @@ int q6asm_stream_open_write_v3(struct audio_client *ac, uint32_t format,
uint16_t bits_per_sample, int32_t stream_id,
bool is_gapless_mode);
+int q6asm_stream_open_write_v4(struct audio_client *ac, uint32_t format,
+ uint16_t bits_per_sample, int32_t stream_id,
+ bool is_gapless_mode);
+
int q6asm_open_write_compressed(struct audio_client *ac, uint32_t format,
uint32_t passthrough_flag);
@@ -339,6 +367,8 @@ int q6asm_stream_cmd_nowait(struct audio_client *ac, int cmd,
void *q6asm_is_cpu_buf_avail(int dir, struct audio_client *ac,
uint32_t *size, uint32_t *idx);
+int q6asm_cpu_buf_release(int dir, struct audio_client *ac);
+
void *q6asm_is_cpu_buf_avail_nolock(int dir, struct audio_client *ac,
uint32_t *size, uint32_t *idx);
@@ -367,6 +397,13 @@ int q6asm_enc_cfg_blk_pcm_v3(struct audio_client *ac,
bool use_back_flavor, u8 *channel_map,
uint16_t sample_word_size);
+int q6asm_enc_cfg_blk_pcm_v4(struct audio_client *ac,
+ uint32_t rate, uint32_t channels,
+ uint16_t bits_per_sample, bool use_default_chmap,
+ bool use_back_flavor, u8 *channel_map,
+ uint16_t sample_word_size, uint16_t endianness,
+ uint16_t mode);
+
int q6asm_enc_cfg_blk_pcm_format_support(struct audio_client *ac,
uint32_t rate, uint32_t channels,
uint16_t bits_per_sample);
@@ -376,6 +413,13 @@ int q6asm_enc_cfg_blk_pcm_format_support_v3(struct audio_client *ac,
uint16_t bits_per_sample,
uint16_t sample_word_size);
+int q6asm_enc_cfg_blk_pcm_format_support_v4(struct audio_client *ac,
+ uint32_t rate, uint32_t channels,
+ uint16_t bits_per_sample,
+ uint16_t sample_word_size,
+ uint16_t endianness,
+ uint16_t mode);
+
int q6asm_set_encdec_chan_map(struct audio_client *ac,
uint32_t num_channels);
@@ -425,6 +469,17 @@ int q6asm_media_format_block_pcm_format_support_v3(struct audio_client *ac,
char *channel_map,
uint16_t sample_word_size);
+int q6asm_media_format_block_pcm_format_support_v4(struct audio_client *ac,
+ uint32_t rate,
+ uint32_t channels,
+ uint16_t bits_per_sample,
+ int stream_id,
+ bool use_default_chmap,
+ char *channel_map,
+ uint16_t sample_word_size,
+ uint16_t endianness,
+ uint16_t mode);
+
int q6asm_media_format_block_multi_ch_pcm(struct audio_client *ac,
uint32_t rate, uint32_t channels,
bool use_default_chmap, char *channel_map);
@@ -442,6 +497,15 @@ int q6asm_media_format_block_multi_ch_pcm_v3(struct audio_client *ac,
uint16_t bits_per_sample,
uint16_t sample_word_size);
+int q6asm_media_format_block_multi_ch_pcm_v4(struct audio_client *ac,
+ uint32_t rate, uint32_t channels,
+ bool use_default_chmap,
+ char *channel_map,
+ uint16_t bits_per_sample,
+ uint16_t sample_word_size,
+ uint16_t endianness,
+ uint16_t mode);
+
int q6asm_media_format_block_aac(struct audio_client *ac,
struct asm_aac_cfg *cfg);
diff --git a/include/sound/wcd-dsp-mgr.h b/include/sound/wcd-dsp-mgr.h
index 5adcbcf660ba..aa3b363e95e1 100644
--- a/include/sound/wcd-dsp-mgr.h
+++ b/include/sound/wcd-dsp-mgr.h
@@ -36,6 +36,9 @@ enum wdsp_cmpnt_type {
};
enum wdsp_event_type {
+ /* Initialization related */
+ WDSP_EVENT_POST_INIT,
+
/* Image download related */
WDSP_EVENT_PRE_DLOAD_CODE,
WDSP_EVENT_DLOAD_SECTION,
@@ -44,6 +47,8 @@ enum wdsp_event_type {
WDSP_EVENT_POST_DLOAD_DATA,
WDSP_EVENT_DLOAD_FAILED,
+ WDSP_EVENT_READ_SECTION,
+
/* DSP boot related */
WDSP_EVENT_PRE_BOOTUP,
WDSP_EVENT_DO_BOOT,
@@ -62,6 +67,7 @@ enum wdsp_event_type {
enum wdsp_intr {
WDSP_IPC1_INTR,
+ WDSP_ERR_INTR,
};
/*
@@ -86,6 +92,12 @@ struct wdsp_img_section {
u8 *data;
};
+struct wdsp_err_intr_arg {
+ bool mem_dumps_enabled;
+ u32 remote_start_addr;
+ size_t dump_size;
+};
+
/*
* wdsp_ops: ops/function callbacks for manager driver
* @register_cmpnt_ops: components will use this to register
@@ -109,7 +121,7 @@ struct wdsp_mgr_ops {
struct device *(*get_dev_for_cmpnt)(struct device *wdsp_dev,
enum wdsp_cmpnt_type type);
int (*intr_handler)(struct device *wdsp_dev,
- enum wdsp_intr intr);
+ enum wdsp_intr intr, void *arg);
int (*vote_for_dsp)(struct device *wdsp_dev, bool vote);
int (*suspend)(struct device *wdsp_dev);
int (*resume)(struct device *wdsp_dev);
diff --git a/include/trace/events/trace_msm_low_power.h b/include/trace/events/trace_msm_low_power.h
index 691df1b2689b..e14cab59e90a 100644
--- a/include/trace/events/trace_msm_low_power.h
+++ b/include/trace/events/trace_msm_low_power.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012, 2014-2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012, 2014-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
@@ -43,6 +43,54 @@ TRACE_EVENT(cpu_power_select,
__entry->next_event_us)
);
+TRACE_EVENT(cpu_pred_select,
+
+ TP_PROTO(u32 predtype, u64 predicted, u32 tmr_time),
+
+ TP_ARGS(predtype, predicted, tmr_time),
+
+ TP_STRUCT__entry(
+ __field(u32, predtype)
+ __field(u64, predicted)
+ __field(u32, tmr_time)
+ ),
+
+ TP_fast_assign(
+ __entry->predtype = predtype;
+ __entry->predicted = predicted;
+ __entry->tmr_time = tmr_time;
+ ),
+
+ TP_printk("pred:%u time:%lu tmr_time:%u",
+ __entry->predtype, (unsigned long)__entry->predicted,
+ __entry->tmr_time)
+);
+
+TRACE_EVENT(cpu_pred_hist,
+
+ TP_PROTO(int idx, u32 resi, u32 sample, u32 tmr),
+
+ TP_ARGS(idx, resi, sample, tmr),
+
+ TP_STRUCT__entry(
+ __field(int, idx)
+ __field(u32, resi)
+ __field(u32, sample)
+ __field(u32, tmr)
+ ),
+
+ TP_fast_assign(
+ __entry->idx = idx;
+ __entry->resi = resi;
+ __entry->sample = sample;
+ __entry->tmr = tmr;
+ ),
+
+ TP_printk("idx:%d resi:%u sample:%u tmr:%u",
+ __entry->idx, __entry->resi,
+ __entry->sample, __entry->tmr)
+);
+
TRACE_EVENT(cpu_idle_enter,
TP_PROTO(int index),
diff --git a/include/uapi/linux/msm_vidc_dec.h b/include/uapi/linux/msm_vidc_dec.h
index f502c81665a4..48ce8e929fbf 100644
--- a/include/uapi/linux/msm_vidc_dec.h
+++ b/include/uapi/linux/msm_vidc_dec.h
@@ -486,10 +486,14 @@ enum vdec_interlaced_format {
VDEC_InterlaceInterleaveFrameBottomFieldFirst = 0x4
};
+#define VDEC_YUV_FORMAT_NV12_TP10_UBWC \
+ VDEC_YUV_FORMAT_NV12_TP10_UBWC
+
enum vdec_output_fromat {
VDEC_YUV_FORMAT_NV12 = 0x1,
VDEC_YUV_FORMAT_TILE_4x2 = 0x2,
- VDEC_YUV_FORMAT_NV12_UBWC = 0x3
+ VDEC_YUV_FORMAT_NV12_UBWC = 0x3,
+ VDEC_YUV_FORMAT_NV12_TP10_UBWC = 0x4
};
enum vdec_output_order {