Here we update the asoc structures to add compress stream definations
First the struct snd_soc_dai_driver adds a new member to indicate if the dai is
compressed or pcm. Next we add a new structre the struct snd_soc_compr_ops in
the struct snd_soc_dai_link. This is to be used for machine driver to perform
any opertaions required for setting up compressed audio streams
next is the compressed data operations, they are added using struct
snd_compr_ops in the struct snd_soc_platform_driver.
Signed-off-by: Namarta Kohli <namartax.kohli@intel.com>
Signed-off-by: Ramesh Babu K V <ramesh.babu@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
this add new API for sound compress to support gapless playback.
As noted in Documentation change, we add API to send metadata of encoder and
padding delay to DSP. Also add API for indicating EOF and switching to
subsequent track
Also bump the compress API version
Conflicts:
include/uapi/sound/compress_offload.h
Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This change adds support to read the HW information and use it
to select FW version.
Change-Id: I8ce11341f87b61668f907e969e07bdde5601c066
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
The ION handles were not properly released. This change releases
the ION handle after hardware acknowledgement.
Change-Id: Ie3a86e23837a94a1b15d6e2cf2029da3e1c4e1ec
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
Post proc module needs monotonic clock for buffer done.
Change to send monotonic clock when buffer is diverted
to userspace.
Change-Id: I2a973e66dc06a629290b14ca071c980d8a164ab2
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
ISP send V4L2 events to userspace for processing,
buffer divert events are stream based and image statistics
events on based on statistics type.
Add support to allow events subscription based on
stream index or statistics type.
Change-Id: I2a3399754b746acf105612a048e1b6a121f652b2
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Split raw dump interface configuration from stream
configuration to align with other ISP input configuration.
Add image formats to differentiate MIPI raw format and
Qualcomm raw format.
Change-Id: Ieefc4401ff5142682d7891debfe041ae6bd44145
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Certain camera features need realtime clock for
calculation. This change add support to store realtime
clock and send the timestamp for userspace notification.
Change-Id: Ifa565a0d888e34a47c5e6e9e0a849c767e0e7e09
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
This change adds necessary state and IOCTL interface for correct
sequence of firmware loading. This also helps to avoid redundant firmware
loading.
Change-Id: I1aff000b36bfe0fbe2fabb01b9a23e1f86bf1a88
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
Add driver for Camera Post Processing hardware. This
module is responsible for supporting scaling, cropping,
rotation, flip, wavelet denoise and Sharpening features.
Change-Id: I4b130a5e53d40f96186992d540b93bbf4f8e628f
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
In recording, timestamp is checked by video layers,
to validate frame. Add support for timestamp in
vb2 buffers.
Change-Id: I6f93dd89f39b8f5db26c100c3838cb479f23a8cc
Signed-off-by: Jignesh Mehta <jigneshm@codeaurora.org>
There can be more than one buffer get from VB2 buffer.
Add list to the driver. All get buffer add to list and
search for buffer done.
Change-Id: I364241e2b03b8386ba68606337776c3ec2478558
Signed-off-by: Jignesh Mehta <jigneshm@codeaurora.org>
Expand supported framedrop pattern to support
high frame rate features.
Change-Id: I1e8b7837985ac7be6d794eb36033e0f20c06c0a2
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Change command structure to improve readablity
Replace write and clear mask function with config mask
Add DMI table support
Change-Id: I4efb78ddbf88cdbd1a7defcbdac3d591c725e1c1
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Add LED flash driver for 8974 as part of LED flash feature for
camera.
Change-Id: Ic4e2990d4f89a0f3f4933a19e0546f70dab20e19
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
This change adds a subdev for buffer management.
Change-Id: I94c9aaa0560497c9d15299f30d0b4887e244d986
Signed-off-by: Jignesh Mehta <jigneshm@codeaurora.org>
ISP buffers can be sent to userspace for post processing
before the buffers are sent to HAL layer.
This change add logic to support buffer divert and
to process buffer after it is queued back from userspace.
Change-Id: I05cc9850c3d33e4cd280f938e0ffea5352eeb03f
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Add MT9M114 sensor driver to enable YUV sensor on camera v2
framework. Register as platform driver and create v4l2 sub
device for MT9M114 driver.
Note: Strip out mt9m114 driver code, and only keep msm_sensor
generic code.
Change-Id: I6728d876b245abd0539479149f44b5539aff66fd
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Add actuator driver that is responsible to move the actuator lens
for auto focus functionality. Register platform driver and create
v4l2 subdevice during probing. Add config functions for power up,
power down and move focus.
Change-Id: Icabf5dbd88fa64ea0a007834ffdd7a2b81eae567
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
Add suppport to configure statistics modules
Add support for statistics buffer handling
Handle statistics module interrupt and generate event
to notify userspace.
Change-Id: I58f610f9509d259dcae7cb55e35ce7e3c4ab03d4
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Stats is the statistics collected from ISP hardware. The purpose of
stats is to provide data to 3A algorithm to decide how to adjust the
3A gains. To start to collect the stats, we need to configure buffers
to save the stats so that it can be parsed to 3A to use. Besides, we
need to configure each stats stream info into AXI HW so the ISP HW
can start to collect the stats through AXI.
Change-Id: Ice730cd0b467da957d10f45dff4509e14508ce88
Signed-off-by: Mingcheng Zhu <mingchen@codeaurora.org>
(1) ISP interface(ISPIF) sits between sensor(CSID) and ISP.
It's responsible to mux sensor's output path to
ISP input path. ISPIF driver contains two parts, i.e.,
user space driver and kernel driver. The kernel driver is
mainly for register write and read.
(2) Image signal processing(ISP) driver's responsiblity is to
processed the sensor's raw image to generate the YUV image
for rending/video encoding and snapshot. ISP driver has
following main functional blcoks:
- Image bus(AXI) management and configuration
- ISP processing pipeline configuration and run time update
- ISP input interface(CAMIF) configuration
- Image buffer management
- ISP interrupt handling
- ISP kernel event notification to user space
- ISP hardware start/stop state machine.
This patch implemented the ISP kernel driver.
Change-Id: I5f222c6a2df8b4c26b0948ef3fb2e36e859d0964
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Camera sensor driver architecture is redesigned to have move control
at user space. The current kernel driver has provision for probing
to find whether a particular camera sensor is connected. A video node
is created for every successful camera probe. This request consists of
samsung S5K3L1YX 12 MP sensor driver, CCI (Camera Control Interface)
driver to perform I2C calls on I2C master bus, I2C MUX driver to select
2D / 3D MUX, QUP driver to perform legacy I2C calls and other utility
functions (msm_sensor) that can be reused by kernel sensor drivers.
Change-Id: I057e3a36b9e08e5b57eb7b90cb0643c84777d0bc
Signed-off-by: Hody Hung <hhung@codeaurora.org>
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
This change reimplements MSM camera V4L2 driver for camera
2.0. Current architecture cannot support 2.0 API very well.
This initial change contains plumbing code for v4l2 device
node creation, ioctls, events, videobuf2, etc.
The new code avoids payload deep-copy by passing them
between user space processes via IPC.
Change-Id: I8598cce8dd25fbd19743398ae0d228081f847d98
Signed-off-by: Jignesh Mehta <jigneshm@codeaurora.org>
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
Load the parameters of focus by reading OTP.
The patch is from QCT's Kyong Hwa Bae.
Change-Id: I8d7239f6f85010966cc594f6fbdecdd78dc0b0fe
Signed-off-by: chiayi_wu <chiayi_wu@asus.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
KGSL_GPUMEM_ALLOC_ID now takes a flag,
KGSL_MEMFLAGS_USE_CPU_MAP. When set, the GPU
mapping will be set up to match the CPU mapping
during mmap(). This feature is only supported when
using per process pagetables with the IOMMU. The
flags field of KGSL_GPUMEM_ALLOC_ID is copied back
to userspace and KGSL_MEMFLAGS_USE_CPU_MAP will
be cleared when this feature is not supported.
The IOMMU virtual address space has been adjusted
when perprocess pagetables is enabled so that the
entire userpace address range (0 to TASK_SIZE) can
have equivalent mappings on the IOMMU. For buffers
that do not have equivalent mappings, the address
range from PAGE_OFFSET to KGSL_IOMMU_GLOBAL_MEM_BASE
is used.
Change-Id: Ib61c03aa7453c3dd901c41e8fd297f66d402ae1a
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
The user allocating memory can provide hints for the caching
settings when said buffer is mapped on the user side. Try
to obey the cache settings when applicable. The user will
be responsible for handling cache management both to and
from the GPU so add a new ioctl IOCTL_KGSL_GPUMEM_CACHE_SYNC to
support both directions (the old IOCTL_KGSL_SHAREDMEM_FLUSH_CACHE)
only handled flushing, not invalidating. The legacy ioctl still
works it just does what it says it does - a cache flush.
Change-Id: Ic0dedbad55ce82f2b01ebc56de30d4649e2e7311
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Previously, the gpu address has been used to uniquely
identify each memory allocation. Upcoming patches will
introduce cases where an allocation does not always
have a gpu address, so an additional id is needed.
IOCTL_KGSL_GPUMEM_ALLOC_ID allocates pages and returns
an id.
IOCTL_KGSL_GPUMEM_FREE_ID frees an id. KGSL_SHAREDMEM_FREE
can still be used to free by GPU address, if it exists.
The id can also be passed to mmap(), shifted left by
PAGE_SIZE to get a CPU mapping for the buffer.
IOCTL_KGSL_GPUMEM_ALLOC_GET_INFO can be called to retrieve
the id and other information about the buffer.
Change-Id: I4b45f0660cb9d4a5fb1323ccc6c4aa360791c1ec
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Add security hooks to the binder and implement the hooks for SELinux.
The security hooks enable security modules such as SELinux to implement
controls over binder IPC. The security hooks include support for
controlling what process can become the binder context manager
(binder_set_context_mgr), controlling the ability of a process
to invoke a binder transaction/IPC to another process (binder_transaction),
controlling the ability a process to transfer a binder reference to
another process (binder_transfer_binder), and controlling the ability
of a process to transfer an open file to another process (binder_transfer_file).
This support is used by SE Android, http://selinuxproject.org/page/SEAndroid.
Change-Id: I9a64a87825df2e60b9c51400377af4a9cd1c4049
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Cleanup and preparation for the next change.
signal_wake_up(resume => true) is overused. None of ptrace/jctl callers
actually want to wakeup a TASK_WAKEKILL task, but they can't specify the
necessary mask.
Turn signal_wake_up() into signal_wake_up_state(state), reintroduce
signal_wake_up() as a trivial helper, and add ptrace_signal_wake_up()
which adds __TASK_TRACED.
This way ptrace_signal_wake_up() can work "inside" ptrace_request()
even if the tracee doesn't have the TASK_WAKEKILL bit set.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
NV bin is downloaded when wlan driver is loaded. This change
adds support for NV bin download during coldboot of WCNSS and
thus much before wlan driver is loaded. NV bin id not downloaded
by platform driver during SSR.
Change-Id: I44065185e73a9d43ab7e5d731705321522a0e5a1
Acked-by: Rajesh Chauhan <rajeshc@qca.qualcomm.com>
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
- Revise gpio settings to active gsbi2 bus in board-flo-gpiomux.c.
- Register both mpu6500 and akm8963 to gsbi2 bus.
- Add drivers for mpu6500 and akm8963 with MotionApps v5.1.4.
Change-Id: I2ddfc1bc28153c6396d5fa0534927ede31383e94
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/68257
Reviewed-by: Jive Hwang <jive_hwang@asus.com>
Tested-by: Jive Hwang <jive_hwang@asus.com>
1. slimport basic function
2. set gpio 50 as 27M clock (function_2, refer to document 80-N7752-2 p.435)
3. request USB_ID pin (gpio 77) to let detect pin work
4. the version history:
V0.1
The gerenal slimport ANX7808 driver for customer evalutaion and application.
2013-01-08
V0.2
1. Add pull down ID_OUT pin once the slimport accessary is plugged, and left it to default status
once the accessay is unplugged.
2. If the incoming video is YUV, convert it to RGB colorspace, since our RGB dangle only support RGB.
2013-01-29
V0.3
1. Correct the error in eye diagram test.
2. Correct the phy auto test.
Change-Id: I0d35945b5682ca736ec00b3d5166001f2ab5dfc3
Change-Id: Ibdf3ba27e119f0ae361b28b1f33f7522d5fdf758
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/67937
Reviewed-by: Yetta Wu <Yetta_Wu@asus.com>
Tested-by: Yetta Wu <Yetta_Wu@asus.com>
Reviewed-by: Warlock Tai <warlock_tai@asus.com>
1. port LG and panasonic panel
2. remove the choice "LCD Panel" in Kconfig because we need to config multiple mipi panels in one code base
3. pwm and LCD_BL_EN power source change to L17
Change-Id: I793114db222ed7712662495cd7106f1d0d41ddd3
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/67830
Reviewed-by: Warlock Tai <warlock_tai@asus.com>
Tested-by: Warlock Tai <warlock_tai@asus.com>
Adds support for the MFC core to add the bitstream_restrict flag in the
sps/pps for H264 codecs. This allows for the decoder to determine how
many frames to buffer when decoding.
Change-Id: I30dc17a29b9fcc1ee76265f0318a0a581316dd49
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Conflicts:
drivers/video/msm/vidc/1080p/ddl/vcd_ddl.h
drivers/video/msm/vidc/1080p/ddl/vcd_ddl_properties.c
drivers/video/msm/vidc/1080p/ddl/vcd_ddl_shared_mem.c
drivers/video/msm/vidc/1080p/ddl/vcd_ddl_shared_mem.h
drivers/video/msm/vidc/1080p/ddl/vcd_ddl_vidc.c
include/media/msm/vcd_property.h