Re: [PATCH] drivers: meson: vdec: add VP9 support to GXM
On 09/02/2022 16:31, Christian Hewitt wrote: VP9 support for GXM appears to have been missed from the original codec submission [0] but it works well, so let's add support. [0] https://github.com/torvalds/linux/commit/00c43088aa680989407b6afbda295f67b3f123f1 Signed-off-by: Christian Hewitt --- Tested with LibreELEC 11 nightly 'AMLGX' dev images for Khadas VIM2 and WeTek Core2 GXM devices which can be found here [1]. The images combine Linux 5.16.y [2] with Kodi v20 [3] and FFmpeg 4.4 [4] which notably includes many V4L2 refinements for stability and usability. [1] https://test.libreelec.tv/ [2] https://github.com/chewitt/linux/commits/amlogic-5.16.y [3] https://github.com/xbmc/xbmc/ [4] https://github.com/jc-kynesim/rpi-ffmpeg/commits/dev/4.4/rpi_import_1 drivers/staging/media/meson/vdec/vdec_platform.c | 12 1 file changed, 12 insertions(+) diff --git a/drivers/staging/media/meson/vdec/vdec_platform.c b/drivers/staging/media/meson/vdec/vdec_platform.c index eabbebab2da2..88c9d72e1c83 100644 --- a/drivers/staging/media/meson/vdec/vdec_platform.c +++ b/drivers/staging/media/meson/vdec/vdec_platform.c @@ -103,6 +103,18 @@ static const struct amvdec_format vdec_formats_gxl[] = { static const struct amvdec_format vdec_formats_gxm[] = { { + .pixfmt = V4L2_PIX_FMT_VP9, + .min_buffers = 16, + .max_buffers = 24, + .max_width = 3840, + .max_height = 2160, + .vdec_ops = _hevc_ops, + .codec_ops = _vp9_ops, + .firmware_path = "meson/vdec/gxl_vp9.bin", + .pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 }, + .flags = V4L2_FMT_FLAG_COMPRESSED | +V4L2_FMT_FLAG_DYN_RESOLUTION, + }, { .pixfmt = V4L2_PIX_FMT_H264, .min_buffers = 2, .max_buffers = 24, Acked-by: Neil Armstrong ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v8 3/4] drm/bridge: anx7625: add MIPI DPI input feature
On 16/06/2021 09:50, Xin Ji wrote: > The basic anx7625 driver only support MIPI DSI rx signal input. > This patch add MIPI DPI rx input configuration support, after apply > this patch, the driver can support DSI rx or DPI rx by adding > 'bus-type' in DT. > > Reviewed-by: Robert Foss > Signed-off-by: Xin Ji > --- > drivers/gpu/drm/bridge/analogix/anx7625.c | 245 -- > drivers/gpu/drm/bridge/analogix/anx7625.h | 18 +- > 2 files changed, 203 insertions(+), 60 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c > b/drivers/gpu/drm/bridge/analogix/anx7625.c > index 048080e75016..fb2301a92704 100644 > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c > @@ -152,18 +152,18 @@ static int anx7625_write_and(struct anx7625_data *ctx, > return anx7625_reg_write(ctx, client, offset, (val & (mask))); > } > > -static int anx7625_write_and_or(struct anx7625_data *ctx, > - struct i2c_client *client, > - u8 offset, u8 and_mask, u8 or_mask) > +static int anx7625_config_bit_matrix(struct anx7625_data *ctx) > { > - int val; > + int i, ret; > > - val = anx7625_reg_read(ctx, client, offset); > - if (val < 0) > - return val; > + ret = anx7625_write_or(ctx, ctx->i2c.tx_p2_client, > +AUDIO_CONTROL_REGISTER, 0x80); > + for (i = 0; i < 13; i++) > + ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p2_client, > + VIDEO_BIT_MATRIX_12 + i, > + 0x18 + i); > > - return anx7625_reg_write(ctx, client, > - offset, (val & and_mask) | (or_mask)); > + return ret; > } > > static int anx7625_read_ctrl_status_p0(struct anx7625_data *ctx) > @@ -221,38 +221,6 @@ static int anx7625_video_mute_control(struct > anx7625_data *ctx, > return ret; > } > > -static int anx7625_config_audio_input(struct anx7625_data *ctx) > -{ > - struct device *dev = >client->dev; > - int ret; > - > - /* Channel num */ > - ret = anx7625_reg_write(ctx, ctx->i2c.tx_p2_client, > - AUDIO_CHANNEL_STATUS_6, I2S_CH_2 << 5); > - > - /* FS */ > - ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client, > - AUDIO_CHANNEL_STATUS_4, > - 0xf0, AUDIO_FS_48K); > - /* Word length */ > - ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client, > - AUDIO_CHANNEL_STATUS_5, > - 0xf0, AUDIO_W_LEN_24_24MAX); > - /* I2S */ > - ret |= anx7625_write_or(ctx, ctx->i2c.tx_p2_client, > - AUDIO_CHANNEL_STATUS_6, I2S_SLAVE_MODE); > - ret |= anx7625_write_and(ctx, ctx->i2c.tx_p2_client, > - AUDIO_CONTROL_REGISTER, ~TDM_TIMING_MODE); > - /* Audio change flag */ > - ret |= anx7625_write_or(ctx, ctx->i2c.rx_p0_client, > - AP_AV_STATUS, AP_AUDIO_CHG); > - > - if (ret < 0) > - DRM_DEV_ERROR(dev, "fail to config audio.\n"); > - > - return ret; > -} > - > /* Reduction of fraction a/b */ > static void anx7625_reduction_of_a_fraction(unsigned long *a, unsigned long > *b) > { > @@ -412,7 +380,7 @@ static int anx7625_dsi_video_timing_config(struct > anx7625_data *ctx) > ret |= anx7625_write_and(ctx, ctx->i2c.rx_p1_client, > MIPI_LANE_CTRL_0, 0xfc); > ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, > - MIPI_LANE_CTRL_0, 3); > + MIPI_LANE_CTRL_0, ctx->pdata.mipi_lanes - 1); > > /* Htotal */ > htotal = ctx->dt.hactive.min + ctx->dt.hfront_porch.min + > @@ -597,6 +565,76 @@ static int anx7625_dsi_config(struct anx7625_data *ctx) > return ret; > } > > +static int anx7625_api_dpi_config(struct anx7625_data *ctx) > +{ > + struct device *dev = >client->dev; > + u16 freq = ctx->dt.pixelclock.min / 1000; > + int ret; > + > + /* configure pixel clock */ > + ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client, > + PIXEL_CLOCK_L, freq & 0xFF); > + ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client, > + PIXEL_CLOCK_H, (freq >> 8)); > + > + /* set DPI mode */ > + /* set to DPI PLL module sel */ > + ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client, > + MIPI_DIGITAL_PLL_9, 0x20); > + /* power down MIPI */ > + ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client, > + MIPI_LANE_CTRL_10, 0x08); > + /* enable DPI mode */ > + ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client, > + MIPI_DIGITAL_PLL_18, 0x1C); > + /* set first edge */ > + ret |=
Re: [PATCH] media: meson: vdec: add G12/SM1 to module description
On 16/11/2020 05:30, Christian Hewitt wrote: > The meson vdec driver also supports Amlogic G12/SM1 hardware. > > Signed-off-by: Christian Hewitt > --- > drivers/staging/media/meson/vdec/vdec.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/media/meson/vdec/vdec.c > b/drivers/staging/media/meson/vdec/vdec.c > index 5ccb3846c879..5d4db7a5b4b5 100644 > --- a/drivers/staging/media/meson/vdec/vdec.c > +++ b/drivers/staging/media/meson/vdec/vdec.c > @@ -1131,6 +1131,6 @@ static struct platform_driver meson_vdec_driver = { > }; > module_platform_driver(meson_vdec_driver); > > -MODULE_DESCRIPTION("Meson video decoder driver for GXBB/GXL/GXM"); > +MODULE_DESCRIPTION("Meson video decoder driver for GXBB/GXL/GXM/G12/SM1"); > MODULE_AUTHOR("Maxime Jourdan "); > MODULE_LICENSE("GPL"); > Reviewed-by: Neil Armstrong ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v1 1/2] dt-bindings: drm/bridge: anx7625: MIPI to DP transmitter binding
Hi, On 19/09/2019 08:55, Xin Ji wrote: > The ANX7625 is an ultra-low power 4K Mobile HD Transmitter designed > for portable device. It converts MIPI to DisplayPort 1.3 4K. > > You can add support to your board with binding. > > Example: > anx_bridge: anx7625@58 { > compatible = "analogix,anx7625"; > reg = <0x58>; > anx,low_power_mode = <1>; > anx,dsi_supported = <1>; > anx,dsi_channel = <1>; > anx,dsi_lanes = <4>; > anx,internal_pannel = <1>; > anx,p-on-gpio = < 45 GPIO_ACTIVE_LOW>; > anx,reset-gpio = < 73 GPIO_ACTIVE_LOW>; > status = "okay"; > port { > anx7625_1_in: endpoint { > remote-endpoint = <_dsi_bridge_1>; > }; > }; > }; > > Signed-off-by: Xin Ji > --- > .../devicetree/bindings/display/bridge/anx7625.txt | 42 > ++ > 1 file changed, 42 insertions(+) > create mode 100644 > Documentation/devicetree/bindings/display/bridge/anx7625.txt > > diff --git a/Documentation/devicetree/bindings/display/bridge/anx7625.txt > b/Documentation/devicetree/bindings/display/bridge/anx7625.txt > new file mode 100644 > index 000..f2a1c2a > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/anx7625.txt > @@ -0,0 +1,42 @@ > +Analogix ANX7625 SlimPort (4K Mobile HD Transmitter) > +--- New bindings should use yaml format: https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/example-schema.yaml Neil > + > +The ANX7625 is an ultra-low power 4K Mobile HD Transmitter > +designed for portable devices. > + > +Required properties: > + > + - compatible: "analogix,anx7625" > + - reg : I2C address of the device > + - anx,low_power_mode: Low power mode support feature > + - anx,dsi_supported : DSI or DPI > + - anx,dsi_channel : DSI channel index > + - anx,dsi_lanes : DSI lane count > + - anx,intr-hpd-gpio : Which GPIO to use for interrupt > + > +Optional properties: > + > + - anx,extcon_supported > + external connector interface support flag > + - anx,internal_pannel > + Which indicate internal pannel > + - anx,p-on-gpio > + Which GPIO to use for Power On chip > + - anx,reset-gpio > + Which GPIO to use for RESET > + - port > + SoC specific port nodes with endpoint definitions as defined in > + Documentation/devicetree/bindings/media/video-interfaces.txt, > + > +Example: > + > + anx_bridge: anx7625@58 { > + compatible = "analogix,anx7625"; > + reg = <0x58>; > + anx,low_power_mode = <0>; > + anx,dsi_supported = <1>; > + anx,dsi_channel = <1>; > + anx,dsi_lanes = <4>; > + anx,intr-hpd-gpio = < 19 IRQ_TYPE_LEVEL_LOW>; > + status = "okay"; > + }; > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v1 0/2] Add initial support for slimport anx7625
Hi, Please Cc dri-de...@lists.freedesktop.org Thanks, Neil On 19/09/2019 08:51, Xin Ji wrote: > Hi all, > > The following series add initial support for the Slimport ANX7625 > transmitter, a > ultra-low power Full-HD 4K MIPI to DP transmitter designed for portable > device. > > This is the first version upload, any mistakes, please let me know, I will fix > it in the next series. > > Thanks, > Xin > > > Xin Ji (2): > dt-bindings: drm/bridge: anx7625: MIPI to DP transmitter binding > drm/bridge: anx7625: Add anx7625 MIPI to DP bridge driver > > .../devicetree/bindings/display/bridge/anx7625.txt | 42 + > drivers/gpu/drm/bridge/Makefile|2 +- > drivers/gpu/drm/bridge/analogix/Kconfig|6 + > drivers/gpu/drm/bridge/analogix/Makefile |1 + > drivers/gpu/drm/bridge/analogix/anx7625.c | 2086 > > drivers/gpu/drm/bridge/analogix/anx7625.h | 397 > 6 files changed, 2533 insertions(+), 1 deletion(-) > create mode 100644 > Documentation/devicetree/bindings/display/bridge/anx7625.txt > create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.c > create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.h > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] mtd: nand: Rename nand.h into rawnand.h
On 08/04/2017 05:29 PM, Boris Brezillon wrote: > We are planning to share more code between different NAND based > devices (SPI NAND, OneNAND and raw NANDs), but before doing that > we need to move the existing include/linux/mtd/nand.h file into > include/linux/mtd/rawnand.h so we can later create a nand.h header > containing all common structure and function prototypes. > > Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com> > Signed-off-by: Peter Pan <peterpand...@micron.com> > Cc: Jonathan Corbet <cor...@lwn.net> > Cc: Sekhar Nori <nsek...@ti.com> > Cc: Kevin Hilman <khil...@kernel.org> > Cc: Jason Cooper <ja...@lakedaemon.net> > Cc: Andrew Lunn <and...@lunn.ch> > Cc: Sebastian Hesselbarth <sebastian.hesselba...@gmail.com> > Cc: Gregory Clement <gregory.clem...@free-electrons.com> > Cc: Hartley Sweeten <hswee...@visionengravers.com> > Cc: Alexander Sverdlin <alexander.sverd...@gmail.com> > Cc: Shawn Guo <shawn...@kernel.org> > Cc: Sascha Hauer <ker...@pengutronix.de> > Cc: Fabio Estevam <fabio.este...@nxp.com> > Cc: Imre Kaloz <ka...@openwrt.org> > Cc: Krzysztof Halasa <khal...@piap.pl> > Cc: Eric Miao <eric.y.m...@gmail.com> > Cc: Haojian Zhuang <haojian.zhu...@gmail.com> > Cc: Aaro Koskinen <aaro.koski...@iki.fi> > Cc: Tony Lindgren <t...@atomide.com> > Cc: Alexander Clouter <a...@digriz.org.uk> > Cc: Daniel Mack <dan...@zonque.org> > Cc: Robert Jarzmik <robert.jarz...@free.fr> > Cc: Marek Vasut <marek.va...@gmail.com> > Cc: Kukjin Kim <kg...@kernel.org> > Cc: Krzysztof Kozlowski <k...@kernel.org> > Cc: Simtec Linux Team <li...@simtec.co.uk> > Cc: Steven Miao <real...@gmail.com> > Cc: Mikael Starvik <star...@axis.com> > Cc: Jesper Nilsson <jesper.nils...@axis.com> > Cc: Ralf Baechle <r...@linux-mips.org> > Cc: Yoshinori Sato <ys...@users.sourceforge.jp> > Cc: Rich Felker <dal...@libc.org> > Cc: Wenyou Yang <wenyou.y...@atmel.com> > Cc: Josh Wu <rainyfeel...@outlook.com> > Cc: Kamal Dasu <kdasu.k...@gmail.com> > Cc: Masahiro Yamada <yamada.masah...@socionext.com> > Cc: Han Xu <han...@nxp.com> > Cc: Harvey Hunt <harveyhuntne...@gmail.com> > Cc: Vladimir Zapolskiy <v...@mleia.com> > Cc: Sylvain Lemieux <slemieux.t...@gmail.com> > Cc: Matthias Brugger <matthias@gmail.com> > Cc: Wan ZongShun <mcuos@gmail.com> > Cc: Neil Armstrong <narmstr...@baylibre.com> > Cc: Ezequiel Garcia <ezequiel.gar...@free-electrons.com> > Cc: Maxim Levitsky <maximlevit...@gmail.com> > Cc: Marc Gonzalez <marc_gonza...@sigmadesigns.com> > Cc: Stefan Agner <ste...@agner.ch> > Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> > Cc: Mauro Carvalho Chehab <mche...@kernel.org> > Cc: linux-...@vger.kernel.org > Cc: linux-arm-ker...@lists.infradead.org > Cc: linux-o...@vger.kernel.org > Cc: linux-samsung-...@vger.kernel.org > Cc: adi-buildroot-de...@lists.sourceforge.net > Cc: linux-cris-ker...@axis.com > Cc: linux-m...@linux-mips.org > Cc: linux...@vger.kernel.org > Cc: bcm-kernel-feedback-l...@broadcom.com > Cc: linux-media...@lists.infradead.org > Cc: linux-ox...@lists.tuxfamily.org > Cc: linuxppc-...@lists.ozlabs.org > Cc: de...@driverdev.osuosl.org > --- > Hi All, > > Sorry for the huge Cc list, but I'd like to collect as much acks as > possible for this patch which is actually part of a bigger series [1]. > > Note that there's nothing complicated here, it's just a mechanical > s/nand\.h/rawnand\.h/ replacement, but it impacts several architectures, > the doc and staging directories. > > Regards, > > Boris > > [1]https://lwn.net/Articles/723694/ > --- > Documentation/driver-api/mtdnand.rst| 8 > MAINTAINERS | 2 +- > arch/arm/mach-davinci/board-da850-evm.c | 2 +- > arch/arm/mach-davinci/board-dm355-evm.c | 2 +- > arch/arm/mach-davinci/board-dm355-leopard.c | 2 +- > arch/arm/mach-davinci/board-dm365-evm.c | 2 +- > arch/arm/mach-davinci/board-dm644x-evm.c| 2 +- > arch/arm/mach-davinci/board-dm646x-evm.c| 2 +- > arch/arm/mach-davinci/board-sffsdr.c| 2 +- > arch/arm/mach-dove/dove-db-setup.c | 2 +- > arch/arm/mach-ep93xx/snappercl15.c | 2 +- > arch/arm/mach-ep93xx/ts72xx.c | 2 +- > arch/arm/mach-imx/mach-qong.c | 2 +- > arch/arm/mach-ixp4xx/ixdp425-setup.c| 2 +- > arch/arm/mach-mmp/aspenite.c| 2 +-
[PATCH] staging: vt6656: fix bad symbol declaration
With sparse, the following error appears : CHECK drivers/staging/vt6656/aes_ccmp.c drivers/staging/vt6656/aes_ccmp.c:221:6: warning: symbol 'AESbGenCCMP' was not declared. Should it be static? Add correct include header in order to have function declaration. Signed-off-by: Neil 'Superna' Armstrong superna9...@gmail.com --- drivers/staging/vt6656/aes_ccmp.c |1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/vt6656/aes_ccmp.c b/drivers/staging/vt6656/aes_ccmp.c index e2bfa8d..a9d5168 100644 --- a/drivers/staging/vt6656/aes_ccmp.c +++ b/drivers/staging/vt6656/aes_ccmp.c @@ -32,6 +32,7 @@ #include device.h #include 80211hdr.h +#include aes_ccmp.h /* * SBOX Table -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: wlan-ng: fix bad symbol declaration
With sparse, the following error appears : CHECK drivers/staging/wlan-ng/p80211netdev.c drivers/staging/wlan-ng/cfg80211.c:710:6: warning: symbol 'prism2_connect_result' was not declared. Should it be static? drivers/staging/wlan-ng/cfg80211.c:719:6: warning: symbol 'prism2_disconnected' was not declared. Should it be static? drivers/staging/wlan-ng/cfg80211.c:725:6: warning: symbol 'prism2_roamed' was not declared. Should it be static? Move functions declaration to coherent internal header file. Signed-off-by: Neil 'Superna' Armstrong superna9...@gmail.com --- drivers/staging/wlan-ng/prism2mgmt.h |5 + drivers/staging/wlan-ng/prism2sta.c |4 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/staging/wlan-ng/prism2mgmt.h b/drivers/staging/wlan-ng/prism2mgmt.h index 190d390..b62fdcb 100644 --- a/drivers/staging/wlan-ng/prism2mgmt.h +++ b/drivers/staging/wlan-ng/prism2mgmt.h @@ -109,4 +109,9 @@ void prism2sta_processing_defer(struct work_struct *data); void prism2sta_commsqual_defer(struct work_struct *data); void prism2sta_commsqual_timer(unsigned long data); +/* Interface callback functions, passing data back up to the cfg80211 layer */ +void prism2_connect_result(wlandevice_t *wlandev, u8 failed); +void prism2_disconnected(wlandevice_t *wlandev); +void prism2_roamed(wlandevice_t *wlandev); + #endif diff --git a/drivers/staging/wlan-ng/prism2sta.c b/drivers/staging/wlan-ng/prism2sta.c index f9ccf23..3fd4538 100644 --- a/drivers/staging/wlan-ng/prism2sta.c +++ b/drivers/staging/wlan-ng/prism2sta.c @@ -120,10 +120,6 @@ MODULE_PARM_DESC(prism2_reset_settletime, reset settle time in ms); MODULE_LICENSE(Dual MPL/GPL); -void prism2_connect_result(wlandevice_t *wlandev, u8 failed); -void prism2_disconnected(wlandevice_t *wlandev); -void prism2_roamed(wlandevice_t *wlandev); - static int prism2sta_open(wlandevice_t *wlandev); static int prism2sta_close(wlandevice_t *wlandev); static void prism2sta_reset(wlandevice_t *wlandev); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Fix coding style issue in xlr_net.c
checkpatch script returns the following warning: WARNING: line over 80 characters 310: FILE: drivers/staging/netlogic/xlr_net.c:310: + void *accel_priv, select_queue_fallback_t fallback) This patch fixes the coding style issue. Signed-off-by: Neil Armstrong superna9...@gmail.com --- drivers/staging/netlogic/xlr_net.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/staging/netlogic/xlr_net.c b/drivers/staging/netlogic/xlr_net.c index 31b269a..cef0b8a 100644 --- a/drivers/staging/netlogic/xlr_net.c +++ b/drivers/staging/netlogic/xlr_net.c @@ -307,7 +307,8 @@ static netdev_tx_t xlr_net_start_xmit(struct sk_buff *skb, } static u16 xlr_net_select_queue(struct net_device *ndev, struct sk_buff *skb, - void *accel_priv, select_queue_fallback_t fallback) + struct sk_buff *skb, void *accel_priv, + select_queue_fallback_t fallback) { return (u16)smp_processor_id(); } -- 1.7.0.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel