Jeffrey Mouroux [Mon, 28 Aug 2017 21:56:52 +0000 (14:56 -0700)]
dma: xilinx: Update to Framebuffer Driver to support dual addr pointers
The 2017.3 version of the Video Framebuffer supports a separate address
pointer for the chroma plane. This is needed when the chroma plane
is not contiguous with the luma plane for semi-planar formats. This
patch updates the client API as well. Additionally, the IP can be
configured for either 32-bit or 64-bit DMA address pointers. A
new device tree property is added which is used to indicate the address
width and a callback is set during probe to write to memory using
either 32-bit or 64-bit address formats depending on this dts property
as well as the size of dma address space supported on the host.
Jeffrey Mouroux [Mon, 28 Aug 2017 21:56:51 +0000 (14:56 -0700)]
Documentation: bindings: devicetree: dma: New compatible string and prop
The Video Framebuffer driver will remove support for any v1 IP. The
compatibility string associated with the v1 IP is described and the lack
of future support indicated in the device tree bindings document.
Additionally, for the v2 IP, the Video Framebuffer IP now supports either
32-bit or 64-bit dma address pointers which is indicated with a new
required property.
Mousumi Jana [Mon, 28 Aug 2017 08:25:09 +0000 (13:55 +0530)]
can: xilinx: fix runtime power management code
This patch adds the fix for runtime power management.
Without this the device usage counter decremented and device
is going to suspend state.This patch resumes the device and
prevents it from being suspended again.
Signed-off-by: Mousumi Jana <mousumij@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Vishal Sagar [Mon, 28 Aug 2017 06:06:12 +0000 (11:36 +0530)]
v4l: xilinx: sdirxss: Get EDH status only in case of SD mode
The EDH status registers are applicable only in SD mode.
So EDH status related V4L controls check for current mode to be SD mode
before accessing EDH status.
Vishal Sagar [Mon, 28 Aug 2017 06:06:10 +0000 (11:36 +0530)]
v4l: xilinx: sdirxss: Detect mode based on capability
Set the mode detection based on IP configuration.
If the IP is configured for 3G mode then don't allow detection for
6G and 12G Integral/Fractional modes.
If the IP is configured for 6G mode then don't allow detection for 12G
Integral/Fractional modes.
Vishal Sagar [Mon, 28 Aug 2017 06:06:08 +0000 (11:36 +0530)]
v4l: xilinx: sdirxss: Update for new register spec
This patch adds support in driver for new register spec finalized for
SDI Rx Subsystem in 2017.3.
Some bits from old registers are moved to new ones modifying the bit masks.
Some old registers offsets have changed.
Interrupt status register now has standard W1C behavior.
Overflow/underflow interrupts are added.
So removing V4L control and added events.
Global interrupt enable register added.
Soft reset bit is added to Reset Control Register.
CRC Error Count register 31-16 exchanged with 15-0 with W1C behaviour.
Leon Luo [Fri, 25 Aug 2017 19:56:16 +0000 (12:56 -0700)]
media: imx274 V4l2 driver for Sony imx274 CMOS sensor
The imx274 is a Sony CMOS image sensor that has 1/2.5 image size.
It supports up to 3840x2160 (4K) 60fps, 1080p 120fps. The interface
is 4-lane MIPI running at 1.44Gbps each.
This driver has been tested on Xilinx ZCU102 platform with a Leopard
LI-IMX274MIPI-FMC camera board.
Support for the following features:
-Resolutions: 3840x2160, 1920x1080, 1280x720
-Frame rate: 3840x2160 : 5 – 60fps
1920x1080 : 5 – 120fps
1280x720 : 5 – 120fps
-Exposure time: 16 – (frame interval) micro-seconds
-Gain: 1x - 180x
-VFLIP: enable/disable
-Test pattern: 12 test patterns
Signed-off-by: Leon Luo <leonl@leopardimaging.com> Tested-by: Sören Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Leon Luo [Fri, 25 Aug 2017 19:56:17 +0000 (12:56 -0700)]
dt: bindings: media: Add dt binding for imx274
The binding file for imx274 CMOS sensor V4l2 driver
Signed-off-by: Leon Luo <leonl@leopardimaging.com> Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
When registering the rtc device to be used to handle alarm timers,
get_device is used to ensure the device doesn't go away but the module can
still be unloaded. Call try_module_get to ensure the rtc driver will not go
away.
Reported-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
During the calibration process ICM_CFG register should be set to any
valid lane. The previous version was using hardcoded setting of PCIe
for lane 2 and 3. This breaks other devices on these lanes if they
don't configure the phy in Linux (i.e. expect the value to be configured
in FSBL).
Current version will use the ICM_CFG value for the first selected phy
instead of hardcoding lanes 2 and 3 to PCIe.
Signed-off-by: Edgar Lakis <ela@phaseone.com> Acked-by: Anurag Kumar Vulisha <anuragku@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Hyun Kwon [Fri, 18 Aug 2017 01:09:40 +0000 (18:09 -0700)]
drm: xilinx: encoder: Check the encoder init function
Check if the encoder slave driver registered the init callback.
If the callback exists, the encoder driver assumes that
the slave driver is ready to initialize.
Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Vishal Sagar [Wed, 16 Aug 2017 11:14:06 +0000 (16:44 +0530)]
v4l: xilinx: sdirxss: Add V4L control for Mode detection
Mode detection V4L control added. Modes are passed as bitmask based on
xilinx-sdirxss.h. If only one mode is selected then driver programs IP
in Fixed mode else multi mode detection is enabled.
Vishal Sagar [Wed, 16 Aug 2017 11:14:05 +0000 (16:44 +0530)]
v4l: xilinx: sdirxss: Add V4L control for EDH error count
This patch adds V4L control for enabling EDH counter.
The list of masks for error conditions are added.
It also fixes how the EDH Error counter register is set.
Vishal Sagar [Wed, 16 Aug 2017 11:14:02 +0000 (16:44 +0530)]
v4l: xilinx: sdirxss: Streaming is enabled only on video lock
Enable mode detection and start SDI Rx IP by default. The video bridges
are enabled/disabled when starting/stopping streaming.
Streaming is started only if video is locked.
PCFG_PROG_B is already 1, so asserting it here will not generate
a edge. If the PL is not correctly loaded before (i.e. an invalid bitfile),
waiting for PCFG_INIT will wait forever.
Signed-off-by: Martijn de Gouw <martijn.de.gouw@prodrive-technologies.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
usb: dwc3: change condition for check request completion
it may be possible that whole reqest not able to fit in trb
availables. since actual length is calculated from trb size
field which suggest how many bytes not able to transfer out
of trb trnafser size. this fix will remove the false
assumption of request completion
Signed-off-by: Rajnikant Bhojani <rajnikant.bhojani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
if queue is full we are depending on HWO bit to see if queue is
full or empty. after advancing trb_enqueue last trb will be the
trb we are working right now. so need to check after HWO bit is
set
Signed-off-by: Rajnikant Bhojani <rajnikant.bhojani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Felipe Balbi [Fri, 11 Aug 2017 08:54:20 +0000 (04:54 -0400)]
usb: dwc3: gadget: always try to prepare on started_list first
In cases where we're given an SG-list which is
longer than the amount of currently available TRBs,
we will be left with the same request on
started_list and we should prioritize that request
over possible new requests on pending_list. That's
a way to guarantee requests complete in order.
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
according to databook it may be possible host and device become
out of sync where device wait for host to issue prime transcation
and host waits for device to issue erdy to avoid such deadlock
timeout need to be implement. after timeout device will first
stop transfer and again restart the transfer
Signed-off-by: Rajnikant Bhojani <rajnikant.bhojani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
usb: dwc3: enable transfer complete event for stream endpoint
start transfer for new stream id need to free previously held
transfer resources. transfer complete event will automatically
free up the resource once transfer associated with stream
completes
Signed-off-by: Rajnikant Bhojani <rajnikant.bhojani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
usb: gadget: f_tcm: add TARGET_SCF_ACK_KREF flag in BOT
in BOT mode se_cmd and I/O resource getting free during target
fabric module operation check_stop_free which does not gauranteed
freeing of resource after actual usb bus transfer. adding
TARGET_SCF_ACK_KREF flag during submitting target request will
increment additinal cmd_kref which will prevent deallocating
se_cmd and I/O resource before actual usb bus transfer.
Signed-off-by: Rajnikant Bhojani <rajnikant.bhojani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
increase in performance can be achived by queueing multiple command
request during super speed uas mode. this will make a best use of
uas and stream support.
Signed-off-by: Rajnikant Bhojani <rajnikant.bhojani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
usb: gadget: f_tcm: comp_descriptor workaround during SS gadget
If device connect in SS then comp_descriptor with stream
should be atteched to descriptor. Since BOT and UAS using
same endpoint, config_ep_by_speed will returns first match
with comp_descriptor without stream. This is just workaround
proper fix need to be introduced.
Signed-off-by: Rajnikant Bhojani <rajnikant.bhojani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
usb: gadget: f_tcm: adjust write length with max packet size
transfer size on out endpoint should be in multiple of endpoint
max packet size. this patch will adjust transfer size on out endpint
with multiple of max packet size
Signed-off-by: Rajnikant Bhojani <rajnikant.bhojani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Fri, 4 Aug 2017 07:34:55 +0000 (09:34 +0200)]
watchdog: cadence_wdt: Show information when driver is probed
Showing message that driver is loaded is common across drivers.
This change also fixes checkpatch (--strict) warning
"Alignment should match open parenthesis".
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Manish Narani [Thu, 10 Aug 2017 08:22:03 +0000 (13:52 +0530)]
zynqmp: sdhci: Prevent SD driver deferred probe after host init
This patch prevents deferred probe after the host initialization is
done. Instead if the deferred probe is necessary, do it before the host
initialization. This way the unnecessary increase in host id can be
avoided.
In standard boot flow deferred probe is called at least 2 times
that's why it is better to extract it out.
Also add error message when getting silicon version fails.
Signed-off-by: Manish Narani <mnarani@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Rohit Athavale [Fri, 11 Aug 2017 01:03:54 +0000 (18:03 -0700)]
v4l: xilinx-vpss-scaler: fix dev_dbg logging typo and remove dead code
This commit corrects the dev_dbg typo in the xilinx vpss scaler driver.
It also removes deadcode from xv_hscaler_setup_video_fmt() as
xv_vscaler_setup_fmt() cannot return XVIDC_CSF_YCRCB_420.
Hyun Kwon [Thu, 10 Aug 2017 18:26:10 +0000 (11:26 -0700)]
drm: xilinx: fb: Fix styles
Fix checkpatch warnings such as alignement and extra blank lines:
CHECK: Alignment should match open parenthesis
+ DRM_DEBUG_KMS("surface width(%d), height(%d) and bpp(%d)\n",
+ sizes->surface_width, sizes->surface_height,
CHECK: Blank lines aren't necessary before a close brace '}'
+
+ }
CHECK: Please don't use multiple blank lines
+
+
Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Rohit Athavale [Fri, 4 Aug 2017 22:54:08 +0000 (15:54 -0700)]
v4l: xilinx-vpss-csc: Any-to-any color space conversion
In 2017.3, the VPSS CSC IP supports any-to-any color space converion.
This implies the color space conversion can occur from an
input format consisting of - RGB, YUV 444, YUV 422, YUV 420 to an
output format list consisting of - RGB, YUV 444, YUV 422, YUV 420.
The IP supports YUV 420, but due to the lack of YUV 420 in
media-bus-format.h that support in the driver will be deferred to later.
Hyun Kwon [Wed, 9 Aug 2017 23:31:37 +0000 (16:31 -0700)]
drm: xilinx: fb: Make fbdev optional
The emulated fbdev doesn't have to be initialized for DRM KMS
functionality. So this patch makes the fbdev not required, and
the driver initializes properly without fbdev. Currently
the condition to skip fbdev is the format.
Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
remoteproc: Reduce asynchronous request_firmware to auto-boot only
The rproc_add_virtio_devices() requests firmware asynchronously and
triggers boot if the auto_boot flag is set. However, this
asynchronous call seems to be redundant for non auto-boot scenario
since the rproc_boot() would call request_firmware() anyways. Move
the auto_boot check to rproc_add() so that a redundant call to
_request_firmware can be avoided for non auto-boot case.
firmware_loading_complete is used to synchronize operations
on rproc while asynchronous firmware loading is in progress.
However, rproc_boot() no longer waits on
firmware_loading_complete. Hence drop this completion
variable altogether and handle the race between rproc_del()
and rproc_boot() using new state RPROC_DELETED.
The request_firmware_nowait() will hold the reference to
rproc device by using a get_device()/put_device(), so the
rproc struct will remain valid even when we return from
rproc_del() before the asynchronous call to
rproc_fw_config_virtio() completes.
Bjorn Andersson [Tue, 8 Aug 2017 18:08:20 +0000 (11:08 -0700)]
remoteproc: Drop wait in __rproc_boot()
In the event that rproc_boot() is called before the firmware loaded
completion has been flagged it will wait with the mutex held,
obstructing the request_firmware_nowait() callback from completing the
wait.
As rproc_fw_config_virtio() has been reduced to only triggering
auto-boot there is no longer a reason for waiting in rproc_boot(), so
drop this.
Add new state RPROC_DELETED to handle synchronization
between rproc_del() and other operations on rproc. This
state represents the rproc device that has been "deleted".
Based on discussion with QEMU folks adding sev is also not needed now.
Revert "arm64: spinlock: sev when unlocking locks"
(sha1: 16ae6f669a03f9c9a01768be1d2bfd3de3e9b771)
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Tue, 8 Aug 2017 13:38:46 +0000 (15:38 +0200)]
i2c: cadence: Remove pm_runtime_disable
pm_runtime_disable was removed as the part of this patch.
"i2c: cadence: Fix power management order of operations"
(sha1: 06416af3a95082d5d459c8a532acaadc91a20138)
Signed-off-by: Michal Simek <michal.simek@xilinx.com>