- 30 9月, 2015 2 次提交
-
-
由 Russell King 提交于
Remove the encoder pointer from struct tda998x_priv, moving the encoder itself from struct tda998x_priv2 here. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Remove the DRM slave encoder compatibility from the TDA998x driver. We now use the component helpers to manage the binding of DRM sub-drivers. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 15 9月, 2015 6 次提交
-
-
由 Russell King 提交于
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
As reading the interrupt registers clears the outstanding interrupts, we must process all received interrupts to avoid dropping any. Rearrange the code to achieve this, and properly check for a HPD interrupt from the CEC_RXSHPDINT register. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
C99 types are against the style of the Linux kernel. Convert to using Linus-friendly types. See https://lwn.net/Articles/113367/ for more information. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Commit 6833d26e ("drm: tda998x: Fix EDID read timeout on HDMI connect") used a weak scheme to try and delay reading EDID on a HDMI connect event. It is weak because delaying the notification of a hotplug event does not stop userspace from trying to read the EDID within the 100ms delay. The solution provided here solves this issue: * When a HDMI connection event is detected, mark a blocking flag for EDID reads, and start a timer for the delay. * If an EDID read is attempted, and the blocking flag is set, wait for the blocking flag to clear. * When the timer expires, clear the blocking flag and wake any thread waiting for the EDID read. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Rather than always reporting that the interrupt was handled, we should report whether we did handle the interrupt. Arrange to report IRQ_NONE for cases where we found nothing to do. This allows us to (eventually) recover from stuck-IRQ problems, rather than causing the kernel to solidly lock up. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
There is no way 'priv' can be NULL in tda998x_irq_thread() - this can only happen if request_threaded_irq() was passed a NULL priv pointer, and we would have crashed long before then if that was the case. We also always ensure that priv->encoder is correctly setup, which must have been initialised prior to the interrupt being claimed, so we can remove this check as well. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 05 8月, 2015 1 次提交
-
-
由 Jean-Francois Moine 提交于
The commit 8c7a075d "drm/i2c: tda998x: use drm_hdmi_avi_infoframe_from_display_mode()" also uses hdmi_avi_infoframe_pack() to create the AVI infoframe. This function sets the checksum of the frame and this breaks the second calculation of the checksum done in tda998x_write_if(). Fixes: 8c7a075d ("drm/i2c: tda998x: use drm_hdmi_avi_infoframe_from_display_mode()") Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 21 5月, 2015 1 次提交
-
-
由 Russell King 提交于
Stephen Rothwell reports that he sees a compiler warning on x86_64: drivers/gpu/drm/i2c/tda998x_drv.c: In function 'tda998x_write_avi': drivers/gpu/drm/i2c/tda998x_drv.c:647:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'ssize_t' [-Wformat=] dev_err(&priv->hdmi->dev, "hdmi_avi_infoframe_pack() failed: %d\n", len); ^ Fix this by using the appropriate length modifier. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 30 3月, 2015 1 次提交
-
-
由 Russell King 提交于
Make use of the DRM HDMI AVI infoframe helper to construct the AVI infoframe, rather than coding this up ourselves. This allows DRM to supply proper aspect ratio information derived from the DRM display mode structure. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 21 1月, 2015 3 次提交
-
-
由 Laurent Pinchart 提交于
Replace the internal EDID read implementation by a call to the new EDID read core function. Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: NRob Clark <robdclark@gmail.com> Tested-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Julia Lawall 提交于
Replace a misspelled function name by %s and then __func__. This was done using Coccinelle, including the use of Levenshtein distance, as proposed by Rasmus Villemoes. Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Andrew Jackson 提交于
The I2C address for the TDA9989 and TDA19989 is fixed at 0x34 but the two LSBs of the TDA19988's address are set by two configuration pins on the chip. Irrespective of the chip, the associated CEC peripheral's I2C address is based upon the main I2C address. This patch avoids any special handling required to support systems that contain multiple TDA19988 devices on the same I2C bus. Signed-off-by: NAndrew Jackson <Andrew.Jackson@arm.com> Signed-off-by: NLiviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 17 1月, 2015 1 次提交
-
-
由 Russell King 提交于
Add support to find the attached CRTCs via OF using the newly introduced helper. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 01 12月, 2014 2 次提交
-
-
由 Jean-Francois Moine 提交于
When the HDMI cable is disconnected and reconnected, EDID reading is called too early raising a EDID read timeout. This patch uses the system work queue to delay the notification of the HDMI connect/disconnect event. Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
As the HDMI registers of the TDA998x chips are accessed by pages, the page register must be protected. Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 05 8月, 2014 1 次提交
-
-
由 Dave Airlie 提交于
Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 02 8月, 2014 2 次提交
-
-
由 Russell King 提交于
Add component helper support to the tda998x driver. This permits the TDA998x to be declared as a separate device in device tree, and bound at the appropriate moment with a co-operating card driver. The existing slave_encoder interfaces are kept while there are existing users of it in order to prevent regressions. Tested-by: NDarren Etheridge <detheridge@ti.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Re-jig the TDA998x code so that we separate the functionality from the drm slave encoder implementation. In several places, this is pretty clearly the correct thing to do, because we can avoid repetitively having to convert from the drm_encoder to the TDA998x private structure, particularly with the driver internal functions. The main motivation behind this change is to allow the code to be re-used with a standard drm_encoder and drm_connector implementation based on the component helpers, rather than the slave_encoder system. The addition of this will be in the following patch. We keep the slave_encoder interface as there are existing users of this; we need to give them time to convert and test. Tested-by: NDarren Etheridge <detheridge@ti.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 22 7月, 2014 1 次提交
-
-
由 Jean-Francois Moine 提交于
In tda998x_encoder_destroy(), priv->cec is never NULL, so, remove its test. Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 26 6月, 2014 3 次提交
-
-
由 Russell King 提交于
The TDA998x can't handle modes with clocks above 150MHz, or resolutions larger than 8192x2048. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
One of Jean-Francois patches changed the EDID polling to once every 10ms for 10 interations, whereas the original code did 1ms for 100 interations. This appears to cause boot-time detection to take noticably longer. Revert this change. Acked-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Guido Martínez 提交于
Currently tda998x_encoder_destroy() calls cec_write() and reg_clear(), as part of the release procedure. Such calls need to access the I2C bus and therefore, we need to call them before drm_i2c_encoder_destroy() which unregisters the I2C device. This commit moves the latter so it's done afterwards. Signed-off-by: NGuido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: NEzequiel García <ezequiel@vanguardiasur.com.ar> Cc: <stable@vger.kernel.org> #v3.9+ Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 22 4月, 2014 1 次提交
-
-
由 Daniel Vetter 提交于
This is C standard hair-splitting, but afaict - sum will be promoted to signed int in computation since uint8_t fits - signed overflow is undefined. No we need to add up an awful lot of bytes to actually make it overflow. But I guess the real risk is gcc spotting this and going bananas. Fix this by simply using unsigned in to force all computations to use the well-defined unsigned behaviour. Spotted by coverity. v2: Simplify the entire computation as suggested by Jean. Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Rob Clark <robdclark@gmail.com> Cc: Jean-Francois Moine <moinejf@free.fr> Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
- 15 2月, 2014 1 次提交
-
-
由 Russell King 提交于
Rather than using a mixture of the parent DRM device and the component device for messages from the driver, consistently use the component device for all messages. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 14 2月, 2014 14 次提交
-
-
由 Jean-Francois Moine 提交于
According to some tests on the Cubox (Marvell Armada 510 + TDA19988), the S/PDIF input asks for a greater audio clock divider. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch reduces the number of I2C exchanges by setting many bits in one write and removing a useless write. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
ca_i2s is only ever written to, but never read, so let's get rid of it. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch adds a definition of the values of the MUX_AP register and simplifies the macro's defining the fields of the AIP_CLKSEL register. This makes the format specific audio init sequence more readable. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch adds the optional treatment of the tda998x IRQ. The interrupt function is used to know the display connection status without polling and to speedup reading the EDID. The IRQ number and trigger type are defined in the i2c client either by platform data or in the DT. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
There is no need to enable/disable EDID read IRQ at each EDID block read. This patch enables the IRQ at init time. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch adds DT support to the tda998x. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch takes care of the write-only registers of the tda998x. The registers SOFTRESET, TBG_CNTRL_0 and TBG_CNTRL_1 have all bits cleared after reset, so, they may be fully re-written. The register MAT_CONTRL is set to MAT_CONTRL_MAT_BP | MAT_CONTRL_MAT_SC(1) after reset, so, it may be fully set again to this value. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch prevents the system to be freezed at audio startup time, replacing mdelay by msleep. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
On probe, a message giving the TDA chip version seems to come from the DRM driver: armada-drm armada-510-drm: found TDA19988 This patch changes the originator of the message to the TDA driver: tda998x 0-0070: found TDA19988 Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch: - replaces ARRAY_SIZE() by sizeof() when a number of bytes is needed, - adds a linefeed in an error message and - removes an useless variable setting. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
This is a nicer way, and results in proper return codes should the read of the MSB version register fail. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch adds more error checking inn I2C I/O functions. In case of I/O error, this permits to avoid writing in bad controller pages, a bad chipset detection or looping when getting the EDID. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Jean-Francois Moine 提交于
This patch simplifies the i2c read/write functions and permits them to be easily called in more contexts. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NJean-Francois Moine <moinejf@free.fr> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-