Remove unnecessary check as it should be reasonable
to assume valid parameter would be issued through
debugfs interface
Change-Id: I1a23d8c5324b813bf9501c5462684234926b5dcc
Signed-off-by: Patrick Lai <plai@codeaurora.org>
AUDIO_AAC_DUAL_MONO_PL_PR is 0 anyway and dual mono
setting is defined as unsigned value. Hence,
there is no need if new setting is less than
AUDIO_AAC_DUAL_MONO_PL_PR.
Change-Id: I2e18a875e211d05d100d827fcd5b67545de168ac
Signed-off-by: Patrick Lai <plai@codeaurora.org>
PID ID 9079 is a clone of 9048 intended for use over HSUSB
connection. The net device name for its interfaces will be
prefixed "rmnet2_usbX". The number and names of its control
interfaces will need to be initialized from userspace.
Change-Id: I98d25f23246c93f96a934dcfc2411c4b6d970b15
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Currently rmnet_usb supports a maximum of 4 net interfaces on a
single device at a time. This change allows the possibility of
multiple concurrent USB devices with RmNet interfaces to be
supported. The number and names of devices supported are now
specified by the following new module parameters:
* no_rmnet_devs - default: 1
* no_rmnet_insts_per_dev - default: 4
* rmnet_dev_names - default: "hsicctl"
* rmnet_data_init - initializes device nodes with above params
Userspace must now write to "rmnet_data_init" in order for the
control device nodes to be created.
Change-Id: I1e36d85b7fab4290ef64ef635162eb6e4de84e50
Signed-off-by: Jack Pham <jackp@codeaurora.org>
New characterization data shows that vdd_dig voltage for L2@384MHz
can be lowered to the low level. Update the data in this patch.
Change-Id: Ia80ee9397b3b433b96f2bce49a86d5ef7b024fc5
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
(cherry picked from commit f684b386cbe45229e12a0eb778b933c69bceb0d4)
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
Allow software to selectively read/write MDP color calibration registers.
This is needed to allow calibration tool to individually configure
registers.
Change-Id: I5db2dcbca0b3433c7fedf9033ceff0cf6a5e0e1f
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
(cherry picked from commit afc6fbf054d079761d5c2ee85242e56d640ee409)
Signed-off-by: Pravin Tamkhane <pravint@codeaurora.org>
A new SMD control channel is opened with WCNSS, currently only the
version information is exchanged thru this channel. WCNSS version is
exposed thru /sys interface.
Conflicts:
drivers/net/wireless/wcnss/wcnss_wlan.c
Change-Id: I45638bdd992846fa6087b6131180684d30805002
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
The shutdown ioctl now gets the system monitor id for the modem to shutdown
from the platform data structure rather than using a hardcoded value.
Change-Id: Ibe7666075903258932014bcf4c79aba0f71184fd
Signed-off-by: Ameya Thakur <ameyat@codeaurora.org>
Some platforms have the ap2mdm_errfatal line shared between
two external modems. Current implementation is to assert that
gpio during the SSR shutdown callback but that does not allow
for independent restart of each modem. On most platforms it is
actually not necessary to assert the ap2mdm_errfatal during
restart of the mdm. It is necessary during kernel panic of the
apps processor but that is already done in the panic handler.
The use case where it is necessary to assert the errfatal gpio
is where the mdm needs to be restarted by the SSR module, for
example on platforms where the internal and external modems need
to be restarted together. This patch adds a platform data parameter
to identify those platforms.
Change-Id: Ie4f5cbed752a04a80f1e4bfb50da03f52e010045
Signed-off-by: Joel King <joelking@codeaurora.org>
For the DSDA2 target with two external modems, independent
subsystem restart of each modem is required. This flag is
used by the mdm driver to prevent it from asserting the
ap2mdm_errfatal during subsystem shutdown for the DSDA2 target,
otherwise both modems would reset because they share the same
gpio.
Change-Id: I27aedaa2b1b8756079710e41d8a4a9572b8ff83a
Signed-off-by: Joel King <joelking@codeaurora.org>
Add support for a secondary instance of an external modem over
the USB/HSIC transport.
Change-Id: I1891ccc14279dfcbcf5e3555a6d42f42049e208a
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Enhance the driver to support (currently up to 2) multiple sysmon
interface instances. This is done by classifying the supported PIDs
as either the first or second allowable instance. Add PID 9079 and
allow it to be instantiated as the second instance. Also make use
of the new USB_DEVICE_INTERFACE_NUMBER macro.
Change-Id: I6f9fbf37d151dcce1d0bcf5204460ce0732730f1
Signed-off-by: Jack Pham <jackp@codeaurora.org>
The SSR reference count now gets decremented only once during a SSR cycle.
Ramdump timeout is now set correctly for each mdm.
Change-Id: I3f1d577805d4a6cc5171a69107f8529a9d165b04
Signed-off-by: Ameya Thakur <ameyat@codeaurora.org>
Use the USB_DEVICE_INTERFACE_NUMBER macro to add the supported
devices and their corresponding interface numbers. This replaces
the cumbersome per-PID bitfield used to map supported interfaces.
Change-Id: I738d79cda929a450086df8fb27247882df8bc696
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Metadata shared input is used to communicate between the
video core and video driver. Allocate it from firmware
heap for specific targets as MFC command heap size is
limited.
CRs-Fixed: 450118
Change-Id: I3d04cf6dd498ae67adcec7a8cba513bd7932d158
Signed-off-by: Shobhit Pandey <cshopan@codeaurora.org>
Signed-off-by: Deepak Verma <dverma@codeaurora.org>
In the use case of audio playback in non tunnel mode, in audio release
unmap is called twice, before and after audio disable. This is
resulting to request DSP to unmap the region twice. Remove the unmap of
the ion region before audio disable.
CRs-Fixed: 443535
Change-Id: Iba44647063c85ab48091888ab5a583b6208dbb3e
Signed-off-by: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
Spanning large request into multiple dTDs will fail with short
packets. Instead queue one dTD at a time. This patch has
the following limitations.
1. Large requests are supported only on Bulk OUT endpoints. This
feature is mainly required for MTP driver to achieve better write
throughputs. The VFS performs well with larger buffers.
2. To keep it simple, don't allow queuing while processing large
request. Don't allow larger request queuing while the queue is
busy.
CRs-Fixed: 449733
Change-Id: I262a62af3316d673a97f11842290609092c6e7df
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
The streaming mode is disabled by default for ci13xxx_msm. Add
a module param to enable streaming. This module param overrides
flag.
This allows user space to enable streaming mode for selected USB
compositions.
CRs-Fixed: 429212
Change-Id: I50c55c005d1eccec094195e3394bfb9415d94596
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
The Rx request transfer length is 16K bytes by default. The test
results indicate that larger transfers improve write speeds. Add
provision for specifying Rx transfer length at runtime.
echo -n 1048576 > /sys/module/g_android/parameters/mtp_rx_req_len
The above command can be used to set Rx transfer length to 1MB. If
the memory allocation is failed, fallback to the default length.
CRs-Fixed: 429212
Change-Id: I7bed5aeefabf1a50c08a9a8e5b876e0cf59515fd
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
The debugfs implementation and diag code interfacing with the
diag userspace library currently only supports one instance
of diag bridge using hsic. Make changes to support multiple
instances of diag bridge using hsic.
Change-Id: I58b37006d652338392527fd46985c44f31accec6
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
For APQ8064 V2 (SDCC version = 0x06000018) doing a soft
reset on errors doesn't reset the state machine that
handles side-band signalling with SPS-BAM fully and can
lead to controller hang for the data transfers after
the reset.
Since there is no register interface to soft reset such
state machine inside the controller, we do hard reset of
the controller in case of errors. SDCC hard reset is
defined as assert and de-assert of asynchronous clock
reset line of the controller.
CRs-Fixed: 451632
Change-Id: I366856e7508a3843688c8acead8a701e7b06fc19
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
The writer process is blocked on a wait queue if there are no free
TX requests. It is unblocked from TX completion handler. When error
is encountered on RX path, wakeup the writer thread. If the host
stops reading the data after RX errors, the writer process will never
be unblocked. Similarly wakeup reader process when error is encountered
on TX path.
(cherry picked from commit e8757ca19d3f2230af507fc44262f9c92af37b59)
CRs-Fixed: 449129
Change-Id: I4fa133d293c96b629d1506a0054b048e9551abd1
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Add the SoC ID for MSM8130, MSM8130AA and MSM8130AB (all
are variants of MSM8930).
Change-Id: I1fe89b6f75eca8064b580e52ffee4a5e2dfda9b9
Signed-off-by: David Ng <dave@codeaurora.org>
The entry for unsubsribe_event function is missing from the server ops
table. Add this entry and point to the correct implementation of the
function.
Change-Id: I083213f546556723167a088e0c64c5a20f3295c0
CRs-Fixed: 399710
Signed-off-by: Kiran Kumar H N <hurlisal@codeaurora.org>
Since mdp4_dsi_cmd_clk_check() is called inside of
mdp4_dsi_cmd_pipe_commit() also, mdp4_dsi_cmd_clk_check()
is called two times from pan display route. This patch
remove mdp4_dsi_cmd_clk_check() from mdp4_dsi_cmd_overlay()
to avoid mdp4_dsi_cmd_clk_check() called twice from
pan display route.
CRs-fixed: 449809
Change-Id: Idbeb968e6af73abac2bb8c800a8c55015ea6a0bf
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Create device node under /dev/adsprpc-smd. Users no longer have to run
mknod after the driver is installed.
Change-Id: I5f5ae4dafc37ce8e87ef2c91358be9bfd5934b8a
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Cleanup header and source to conform with coding guidelines.
Change-Id: I0fba2a7a758930003d5bce9c8ffc0036574736b8
Acked-by: Anatoly Yakovenko <anatolyy@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Return error and do not increment ref count in case of failure to
protect the CP heap.
CRs-Fixed: 445400
Change-Id: Ia615773fe2c52386d9522de7a182edd633a66e1c
Signed-off-by: Praveen Chavan <pchava@codeaurora.org>
Unsecure MM and CP heaps in the right order in case of failure
CRs-Fixed: 445400
Change-Id: I2b5d414c5d9f109740a931b75b0cfbdb196c465f
Signed-off-by: Praveen Chavan <pchava@codeaurora.org>
As a performance optimization, use higher-order page allocations if
possible. This can reduce TLB misses and the total number of page
structures.
CRs-Fixed: 449035
Change-Id: I6b76ec69599a100fd7209161c4286284ae347be0
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
The current code retrieves driver's private data based on platform
device id or device file name. The device id match is broken
for targets which has only one external modem (platform device
id = -1).
Use device's private data and file's private data fields for
storing the driver's private data.
CRs-Fixed: 451830
Change-Id: I080ef86cce8d346c0b3e380432712dde07b64aea
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
The TSPP driver requires using 3 or 4 GPIOs per TSIF instance,
depending on the TSIF operation mode. The driver used to configure
all the GPIOs regardless of TSIF instance and mode.
This commit changes the driver's GPIO configuration mechanism to
take into account the TSIF instance and mode, and use only the relevant
GPIOs. This is required by customers who may now utilize the unused GPIOs
for other purposes.
Change-Id: Ia216f479871e613ca48f73dc63c0a6cdab4dad57
Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
Update the TSPP driver to support using the device tree mechanism
for getting platform-dependent data.
Change-Id: I5ac0f90266c3f30621865cf097db4dba1ee07fc6
Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
This reverts commit b7d35468be026b0266bcb5217b72c6fbbf8b1bc0.
Change-Id: Iba80431f304dff64ba0427870dd857fc8729be28
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
For smart display, dsi command and wfd, since it has its
own buffer, the input buffer can be released once the
display commit finishes, hence the fence threshold for
creation can be smaller. This patch reduce the timeline
from 2 to 1 for samrt panels. Also, it needs to
wait4dmap/wait4ov after kicked off. Otherwise, tearing may
happen.
Change-Id: I9eca871d8d863ef23b1d67b6e1e9cffea40ae4a6
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
As a performance optimization, omit the __GFP_ZERO flag when
allocating individual pages and, instead, zero out all of the pages in
one fell swoop.
CRs-Fixed: 449035
Change-Id: Ieb9a895d8792727a8a40b1e27cb1bbeae098f581
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
The change handles the NULL buffer case for writeback panel.
It avoids the H/W commit when buffer is NULL and also adds it to
free queue.
CRs-Fixed: 448340
Change-Id: I60f5d343d6de0f96353b081aa113f347c73c61af
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Add a pm8xxx-tm subdevice into pm8821-core. The pm8xxx-tm device
can be used to receive an interrupt when critical temperature
thresholds are reached. Since PM8821 does not have an ADC, it is
not possible to read a real time PM8821 die temperature using
this pm8xxx-tm device.
Change-Id: I3720c79a0546e8bc69044166f70dd4c313e84daa
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit 1604779c47df4bf003211c35e356210e689676d5)
There has possibility that pipes pending at queue and suspend
comes without commit executed. At resume, pipes pending at queue
will be committed with new pipes just added which may cause iommu
page fault due to pipes may had been move to other mixer. This
patch remove pipes from pending queue at suspend.
CRs-fixed: 440254
Change-Id: If6a142d4c55453c0ceacc677399f58570abe47b8
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
This change provides the support for VESA resolution for
monitors, 1280x1024@60Hz with pixel clock of 108MHz.
CRs-Fixed: 438028
Change-Id: I059cd379d4da62f4e5b72be1152dd2fe26d611f1
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
This change fixes a case where the length of 3d data is not
properly used which could have resulted in wrong 3d data parsing.
CRs-Fixed: 445505
Change-Id: Id285204bdb8c2d881becaa5b07b973eba4240d93
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
At bootup, if HPD is not configured, HDMI is not in
the state of getting turned on. This change makes sure
HDMI is not turned on/off unnecessarily which turns on
clocks as well.
CRs-Fixed: 447511
Change-Id: I074d9c463943770775b060c4a93b9120dfe9bcf0
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
On changing resolution, all information related to display
needs to be updated which helps in calculating the right mdp
clock for each resolution.
CRs-Fixed: 436151
Change-Id: I1ab6e5859491936a7fa8c62247da9ef5a0ff45ef
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
The bootloader memory from which the splashscreen is shown
gets reclaimed before frame update happens from framework.
Hence, copy the splash image to a local buffer as soon as
display is initialized. This will ensure proper continuous
splashscreen functionality.
CRs-Fixed: 378721
Change-Id: I55a7b97eeced56d2f108d34998d58966610c4305
Signed-off-by: Pradeep Jilagam <pjilagam@codeaurora.org>
Conflicts:
drivers/video/msm/msm_fb.h
Signed-off-by: Mayank Goyal <goyalm@codeaurora.org>
USB core marks a device wakeup capable if it supports remote wakeup.
Check this wakeup capable flag before enabling autosuspend.
CRs-Fixed: 449100
Change-Id: I055bf5801859e4d83782916c71e0245c455becbf
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
All the submitted URBs are unlinked during suspend. Abort suspend
if data is received during unlink. This avoids unnecessary suspend
and resume of remaining interfaces.
CRs-Fixed: 449097
Change-Id: Ia4009775ec29df0222b475581649c3a9f4f1899f
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
When multiple channels are used for a session (Rx/Tx), all bits in the
Rx/Tx port multichannel register needs to be Set. If a bit corresponding
to any channel is missing, the channel will not be aware that the other
channel (corresponding to the missing bit) is also part of the same group.
This will create ambiguity among the channels in the same PCM group and
will lead to shifting of Phase/delay in data in those channels.
CRs-fixed: 425803
Change-Id: Ie78ba82eeeb494db73a781e96b835361ef589a67
Signed-off-by: Banajit Goswami <bgoswa@codeaurora.org>
Buffer overflow is handled by flushing the output buffer and
reporting the overflow event to the user, and all subsequent data
callbacks are discarded until user is notified on the overflow.
When buffer overflow is reported by the secure demux and output buffer
is flushed, next calls to secure demux processing report the buffer
as free for new data, but data callbacks are discarded due to being
in overflow state. This causes write pointers of secure demux to get
out of sync.
This patch separates the flushing of the buffer, and now this occurs
when user is notified on the overflow, so secure demux now discards
data during the overflow state.
Change-Id: I20a0bc33b3261fdd4fa6e1f9a543187c1612cebf
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>