Re: PCIe capture driver

2015-10-20 Thread Ran Shalit
On Tue, Oct 20, 2015 at 9:23 AM, Hans Verkuil  wrote:
> On 10/19/2015 10:26 PM, Ran Shalit wrote:
>> Hello,
>>
>> When writing a device driver for  capturing video coming from PCIe,
>> does it need to be used as v4l device (video for linux) , ?
>
> Yes. If you don't then 1) you will never be able to upstream the driver,
> 2) any application that wants to use your driver will need custom code to
> talk to your driver, 3) it will be a lot more work to write the driver
> since you can't use the V4L2 kernel frameworks it provides or ask for
> help.
>
> Basically, by deciding to reinvent the wheel you're screwing over your
> customers and yourself.
>
> Here is a nice PCI(e) template driver that you can use as your starting
> point: Documentation/video4linux/v4l2-pci-skeleton.c
>
> Regards,
>
> Hans

Hans,

Many thanks for the detailed answer and the example !

Regards,
Ran
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Brazilian television capture device

2015-10-20 Thread Michael Stilmant
Hi, David

I'm in the same process that you are. I'm also on remote (Europe) but
I have some laptop in Brazil where I can do some test using remote
shell. I don't talk Brazilian/Portuguese so it is also hard to find
Local Linux groups certainly discussing about it

I have also that reference.
http://www.isdb-t.com/usb-isdb-t-full-seg-digital-usb-tv-stick-use-for-pc-philippines-japan-chile-vcan1012/
  I don't know neither if this could be working.  Not yet purchased

My contact purchased
http://www.netserv19.com/ecommerce_site/produto_103630_1598_Visus-Tv-Radicale-Receptor-Tv-Digital-Fullhd-Alta-Definicao-FULL-SEG
I will need to test it coming days
but dvbsnoop -s feinfo allready return:

Device: /dev/dvb/adapter0/frontend0

Basic capabilities:
Name: "DiBcom 8000 ISDB-T"
Frontend-type:   OFDM (DVB-T)
Frequency (min): 45000.000 kHz
Frequency (max): 86.000 kHz
Frequency stepsiz:   62.500 kHz
Frequency tolerance: 0.000 kHz


Which is not a bad sign.

Please share you finding, it would be appreciated.

Regards,

Michael




On Tue, Oct 20, 2015 at 1:04 AM, David Liontooth  wrote:
>
> Does anyone know of a tv capture device for Brazil (ISDB-T) that is
> supported in Linux and available for sale?
>
> I'm having a hard time finding any of the devices listed under
> http://www.linuxtv.org/wiki/index.php/ISDB-T_USB_Devices or ISDB-T PCIe
> devices --
>
> * Pixelview SBTVD
> (http://www.kabum.com.br/produto/6784/receptor-de-tv-digital-pixelview-playtv-usb-2-0-sbtvd-full-seg-pv-d231urn-f)
> is out of stock
> * Geniatech/MyGica X8507 PCI-Express Hybrid Card
> (http://www.linuxtv.org/wiki/index.php/Geniatech/MyGica_X8507_PCI-Express_Hybrid_Card)
>
> I see the Aver3d Hybrid Volar Xpro (H869 --
> http://avertv.avermedia.com/avertv/Upload/ProductImages/DS_H869_EN_140415.pdf)
> at americanas.com
> (http://www.americanas.com.br/produto/9869979/placa-captura-de-tv-aver3d-hybrid-volar-xpro)
> -- is it supported?
>
> I'm advising friends remotely, so I can't just purchase it and try it out.
>
> Cheers,
> Dave
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Brazilian television capture device

2015-10-20 Thread Markus Rechberger
The new Sundtek devices support DVB-C, DVB-T, ISDB-T, AnalogTV and FM Radio.
The old ones only supported ISDB-T/AnalogTV and FM Radio.
Power consumption is very low too.

On Tue, Oct 20, 2015 at 11:01 AM, Michael Stilmant
 wrote:
> Hi, David
>
> I'm in the same process that you are. I'm also on remote (Europe) but
> I have some laptop in Brazil where I can do some test using remote
> shell. I don't talk Brazilian/Portuguese so it is also hard to find
> Local Linux groups certainly discussing about it
>
> I have also that reference.
> http://www.isdb-t.com/usb-isdb-t-full-seg-digital-usb-tv-stick-use-for-pc-philippines-japan-chile-vcan1012/
>   I don't know neither if this could be working.  Not yet purchased
>
> My contact purchased
> http://www.netserv19.com/ecommerce_site/produto_103630_1598_Visus-Tv-Radicale-Receptor-Tv-Digital-Fullhd-Alta-Definicao-FULL-SEG
> I will need to test it coming days
> but dvbsnoop -s feinfo allready return:
>
> Device: /dev/dvb/adapter0/frontend0
>
> Basic capabilities:
> Name: "DiBcom 8000 ISDB-T"
> Frontend-type:   OFDM (DVB-T)
> Frequency (min): 45000.000 kHz
> Frequency (max): 86.000 kHz
> Frequency stepsiz:   62.500 kHz
> Frequency tolerance: 0.000 kHz
>
>
> Which is not a bad sign.
>
> Please share you finding, it would be appreciated.
>
> Regards,
>
> Michael
>
>
>
>
> On Tue, Oct 20, 2015 at 1:04 AM, David Liontooth  wrote:
>>
>> Does anyone know of a tv capture device for Brazil (ISDB-T) that is
>> supported in Linux and available for sale?
>>
>> I'm having a hard time finding any of the devices listed under
>> http://www.linuxtv.org/wiki/index.php/ISDB-T_USB_Devices or ISDB-T PCIe
>> devices --
>>
>> * Pixelview SBTVD
>> (http://www.kabum.com.br/produto/6784/receptor-de-tv-digital-pixelview-playtv-usb-2-0-sbtvd-full-seg-pv-d231urn-f)
>> is out of stock
>> * Geniatech/MyGica X8507 PCI-Express Hybrid Card
>> (http://www.linuxtv.org/wiki/index.php/Geniatech/MyGica_X8507_PCI-Express_Hybrid_Card)
>>
>> I see the Aver3d Hybrid Volar Xpro (H869 --
>> http://avertv.avermedia.com/avertv/Upload/ProductImages/DS_H869_EN_140415.pdf)
>> at americanas.com
>> (http://www.americanas.com.br/produto/9869979/placa-captura-de-tv-aver3d-hybrid-volar-xpro)
>> -- is it supported?
>>
>> I'm advising friends remotely, so I can't just purchase it and try it out.
>>
>> Cheers,
>> Dave
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-media" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re:My resume

2015-10-20 Thread alexandrina gallagher

Hi! A acquaintance of mine gave me your email adress.
He was very confident you would be very glad to read my resume.

After looking through your website and seeing what it is you guys do, I'm also 
very sure
you will not be disappointed. I'm attaching my resume for you to read.

I am very much looking forward to hearing back from you.
Best regards.
alexandrina gallagher


MyCV_157.doc
Description: MS-Word document


Re: Brazilian television capture device

2015-10-20 Thread David Liontooth

On 10/20/15 11:32 AM, Markus Rechberger wrote:

The new Sundtek devices support DVB-C, DVB-T, ISDB-T, AnalogTV and FM Radio.
The old ones only supported ISDB-T/AnalogTV and FM Radio.
Power consumption is very low too.
OK, very cool -- I see for instance 
http://sundtek.com/shop/Digital-TV-Sticks-oxid/Sundtek-MediaTV-ISDB-T-ISDB-T/DVB-C-FM-Radio-AnalogTV.html


Page claims "Linux and FreeBSD Support".

Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/1] staging: omap4iss: Compiling V4L2 framework and I2C as modules is fine

2015-10-20 Thread Laurent Pinchart
Hi Sakari,

Thank you for the patch.

On Friday 16 October 2015 02:21:13 Sakari Ailus wrote:
> Don't require V4L2 framework and I2C being linked to the kernel directly.

That's a leftover of when the driver had to be compiled in the kernel.

> Signed-off-by: Sakari Ailus 

Acked-by: Laurent Pinchart 

> ---
>  drivers/staging/media/omap4iss/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/media/omap4iss/Kconfig
> b/drivers/staging/media/omap4iss/Kconfig index 8d4e3bd..4618346 100644
> --- a/drivers/staging/media/omap4iss/Kconfig
> +++ b/drivers/staging/media/omap4iss/Kconfig
> @@ -1,6 +1,6 @@
>  config VIDEO_OMAP4
>   tristate "OMAP 4 Camera support"
> - depends on VIDEO_V4L2=y && VIDEO_V4L2_SUBDEV_API && I2C=y && ARCH_OMAP4
> + depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && I2C && ARCH_OMAP4
>   depends on HAS_DMA
>   select MFD_SYSCON
>   select VIDEOBUF2_DMA_CONTIG

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PCIe capture driver

2015-10-20 Thread Hans Verkuil
On 10/19/2015 10:26 PM, Ran Shalit wrote:
> Hello,
> 
> When writing a device driver for  capturing video coming from PCIe,
> does it need to be used as v4l device (video for linux) , ?

Yes. If you don't then 1) you will never be able to upstream the driver,
2) any application that wants to use your driver will need custom code to
talk to your driver, 3) it will be a lot more work to write the driver
since you can't use the V4L2 kernel frameworks it provides or ask for
help.

Basically, by deciding to reinvent the wheel you're screwing over your
customers and yourself.

Here is a nice PCI(e) template driver that you can use as your starting
point: Documentation/video4linux/v4l2-pci-skeleton.c

Regards,

Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] m5602: correctly check failed thread creation

2015-10-20 Thread Hans de Goede

Hi,

On 19-10-15 17:24, Insu Yun wrote:

Since thread creation can be failed, check return value of
kthread_create and handle an error.

Signed-off-by: Insu Yun 
---
  drivers/media/usb/gspca/m5602/m5602_s5k83a.c | 8 +++-
  1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c 
b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c
index bf6b215..76b40d1 100644
--- a/drivers/media/usb/gspca/m5602/m5602_s5k83a.c
+++ b/drivers/media/usb/gspca/m5602/m5602_s5k83a.c
@@ -221,6 +221,10 @@ int s5k83a_start(struct sd *sd)
   to assume that there is no better way of accomplishing this */
sd->rotation_thread = kthread_create(rotation_thread_function,
 sd, "rotation thread");
+   if (IS_ERR(sd->rotation_thread)) {
+   err = PTR_ERR(sd->rotation_thread);
+   goto fail;
+   }


There is no need to use a goto here you can simply directly return
the error.


wake_up_process(sd->rotation_thread);

/* Preinit the sensor */
@@ -234,9 +238,11 @@ int s5k83a_start(struct sd *sd)
data[0]);
}
if (err < 0)
-   return err;
+   goto fail;


No need for introducing a goto here either.



return s5k83a_set_led_indication(sd, 1);
+fail:
+   return err;
  }

  int s5k83a_stop(struct sd *sd)


Regards,

Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] gspca: correctly checked failed allocation

2015-10-20 Thread Hans de Goede

Hi,

On 19-10-15 18:43, Insu Yun wrote:

create_singlethread_workqueue can be failed in memory pressue.
So, check return value and return -ENOMEM

Signed-off-by: Insu Yun 
---
  drivers/media/usb/gspca/sq905.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/media/usb/gspca/sq905.c b/drivers/media/usb/gspca/sq905.c
index a7ae0ec..b1c25d9a 100644
--- a/drivers/media/usb/gspca/sq905.c
+++ b/drivers/media/usb/gspca/sq905.c
@@ -392,6 +392,8 @@ static int sd_start(struct gspca_dev *gspca_dev)
}
/* Start the workqueue function to do the streaming */
dev->work_thread = create_singlethread_workqueue(MODULE_NAME);
+   if (!dev->work_thread)
+   return -ENOMEM;
queue_work(dev->work_thread, >work_struct);

return 0;


If the thread creation fails we should not send the start command,
so the create_singlethread_workqueue call should be moved
up in the function, while keeping the queue_work at the end.

And if the sq905_command fails then the workqueue should
be destroyed and dev->work_thread should be set to NULL
before returning the sq905_command failure to the caller.

Regards,

Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Guten Tag,

2015-10-20 Thread sheffield Credit Union



--
Guten Tag,

   Ich bin Frau Alicia Raymond, die vollziehende Mittel aus einem gut 
erkannt legitimen Darlehensgeberin als Sheffield Credit Union bekannt. 
Haben Sie schlechte Kredit haben, oder Sie brauchen Geld, um Ihre 
Rechnungen zu bezahlen sind? Zinssatz beträgt 3%.


  füllen Sie das folgende Formular aus, wenn interessiert.

Voller Name:
Geschlecht:
Benötigte Menge:
Dauer:

Sie können uns per Telefon kontaktieren: +447045734550, 
s-creditun...@outlook.com


  Mit freundlichen Grüßen,
Frau Alicia Raymond
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Trying to get Terratec Cinergy T XS to work

2015-10-20 Thread Alberto Mardegan
Hi all!
  I own a USB DVB-T receiver, Terratec Cinergy T XS, (0ccd:0043) which
as far as I can tell from google searches used to work with the old
"em28xx-new" driver.

I've downloaded the old driver from
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/460636/comments/2

and tried to modify the current media_tree drivers accordingly (please
see the attached patch), but I get an error when initializing the frontend:

=
Oct 20 19:33:20 mapperone kernel: [25479.846347] usb 2-1.1: new
high-speed USB device number 6 using ehci-pci
Oct 20 19:33:20 mapperone kernel: [25479.951208] usb 2-1.1: New USB
device found, idVendor=0ccd, idProduct=0043
Oct 20 19:33:20 mapperone kernel: [25479.951215] usb 2-1.1: New USB
device strings: Mfr=2, Product=1, SerialNumber=0
Oct 20 19:33:20 mapperone kernel: [25479.951220] usb 2-1.1: Product:
Cinergy T USB XS
Oct 20 19:33:20 mapperone kernel: [25479.951223] usb 2-1.1:
Manufacturer: TerraTec Electronic GmbH
Oct 20 19:33:20 mapperone mtp-probe: checking bus 2, device 6:
"/sys/devices/pci:00/:00:1d.0/usb2/2-1/2-1.1"
Oct 20 19:33:20 mapperone mtp-probe: bus: 2, device: 6 was not an MTP device
Oct 20 19:33:20 mapperone kernel: [25479.982735] em28xx: New device
TerraTec Electronic GmbH Cinergy T USB XS @ 480 Mbps (0ccd:0043,
interface 0, class 0)
Oct 20 19:33:20 mapperone kernel: [25479.982739] em28xx: Video interface
0 found: isoc
Oct 20 19:33:20 mapperone kernel: [25479.982740] em28xx: DVB interface 0
found: isoc
Oct 20 19:33:20 mapperone kernel: [25479.982859] em28xx: chip ID is em2870
Oct 20 19:33:20 mapperone kernel: [25480.110080] em2870 #0: EEPROM ID =
1a eb 67 95, EEPROM hash = 0x084c44df
Oct 20 19:33:20 mapperone kernel: [25480.110085] em2870 #0: EEPROM info:
Oct 20 19:33:20 mapperone kernel: [25480.110087] em2870 #0: No audio on
board.
Oct 20 19:33:20 mapperone kernel: [25480.110089] em2870 #0: 500mA max power
Oct 20 19:33:20 mapperone kernel: [25480.110092] em2870 #0: Table at
offset 0x06, strings=0x246a, 0x348e, 0x
Oct 20 19:33:20 mapperone kernel: [25480.110096] em2870 #0: Identified
as Terratec Cinergy T XS (card=43)
Oct 20 19:33:20 mapperone kernel: [25480.110099] em2870 #0: analog set
to isoc mode.
Oct 20 19:33:20 mapperone kernel: [25480.110101] em2870 #0: dvb set to
isoc mode.
Oct 20 19:33:20 mapperone kernel: [25480.110149] usbcore: registered new
interface driver em28xx
Oct 20 19:33:20 mapperone kernel: [25480.113975] em2870 #0: Registering
V4L2 extension
Oct 20 19:33:20 mapperone kernel: [25480.118352] Chip ID is not zero. It
is not a TEA5767
Oct 20 19:33:20 mapperone kernel: [25480.118361] tuner 7-0060: Tuner -1
found with type(s) Radio TV.
Oct 20 19:33:20 mapperone kernel: [25480.118390] xc2028 7-0060: creating
new instance
Oct 20 19:33:20 mapperone kernel: [25480.118397] xc2028 7-0060: type set
to XCeive xc2028/xc3028 tuner
Oct 20 19:33:20 mapperone kernel: [25480.118453] xc2028 7-0060: Loading
80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7
Oct 20 19:33:21 mapperone kernel: [25480.166568] xc2028 7-0060: Loading
firmware for type=BASE (1), id .
Oct 20 19:33:22 mapperone kernel: [25481.248675] xc2028 7-0060: Loading
firmware for type=(0), id b700.
Oct 20 19:33:22 mapperone kernel: [25481.266071] SCODE (2000), id
b700:
Oct 20 19:33:22 mapperone kernel: [25481.266078] xc2028 7-0060: Loading
SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 8000.
Oct 20 19:33:22 mapperone kernel: [25481.270699] xc2028 7-0060:
Incorrect readback of firmware version.
Oct 20 19:33:22 mapperone kernel: [25481.371524] xc2028 7-0060: Loading
firmware for type=BASE (1), id .
Oct 20 19:33:23 mapperone kernel: [25482.449292] xc2028 7-0060: Loading
firmware for type=(0), id b700.
Oct 20 19:33:23 mapperone kernel: [25482.466803] SCODE (2000), id
b700:
Oct 20 19:33:23 mapperone kernel: [25482.466811] xc2028 7-0060: Loading
SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 8000.
Oct 20 19:33:23 mapperone kernel: [25482.471431] xc2028 7-0060:
Incorrect readback of firmware version.
Oct 20 19:33:23 mapperone kernel: [25482.572622] xc2028 7-0060: Loading
firmware for type=BASE (1), id .
Oct 20 19:33:24 mapperone kernel: [25483.650635] xc2028 7-0060: Loading
firmware for type=(0), id b700.
Oct 20 19:33:24 mapperone kernel: [25483.66] SCODE (2000), id
b700:
Oct 20 19:33:24 mapperone kernel: [25483.667784] xc2028 7-0060: Loading
SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 8000.
Oct 20 19:33:24 mapperone kernel: [25483.672770] xc2028 7-0060:
Incorrect readback of firmware version.
Oct 20 19:33:24 mapperone kernel: [25483.773478] xc2028 7-0060: Loading
firmware for type=BASE (1), id .
Oct 20 19:33:25 mapperone kernel: [25484.851617] xc2028 7-0060: Loading
firmware for type=(0), id b700.
Oct 20 19:33:25 mapperone kernel: 

Re: [Patch v2 1/2] media: v4l: ti-vpe: Add CAL v4l2 camera capture driver

2015-10-20 Thread Hans Verkuil
On 10/16/2015 05:07 PM, Hans Verkuil wrote:
> On 09/21/2015 10:04 PM, Benoit Parrot wrote:
>> The Camera Adaptation Layer (CAL) is a block which consists of a dual
>> port CSI2/MIPI camera capture engine.
>> Port #0 can handle CSI2 camera connected to up to 4 data lanes.
>> Port #1 can handle CSI2 camera connected to up to 2 data lanes.
>> The driver implements the required API/ioctls to be V4L2 compliant.
>> Driver supports the following:
>> - V4L2 API using DMABUF/MMAP buffer access based on videobuf2 api
>> - Asynchronous sensor sub device registration
>> - DT support
>>
>> Signed-off-by: Benoit Parrot 
>> ---
>>  drivers/media/platform/Kconfig   |   12 +
>>  drivers/media/platform/Makefile  |2 +
>>  drivers/media/platform/ti-vpe/Makefile   |4 +
>>  drivers/media/platform/ti-vpe/cal.c  | 2161 
>> ++
>>  drivers/media/platform/ti-vpe/cal_regs.h |  779 +++
>>  5 files changed, 2958 insertions(+)
>>  create mode 100644 drivers/media/platform/ti-vpe/cal.c
>>  create mode 100644 drivers/media/platform/ti-vpe/cal_regs.h
>>
>> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
>> index dc75694ac12d..c7f5704c56a2 100644
>> --- a/drivers/media/platform/Kconfig
>> +++ b/drivers/media/platform/Kconfig
>> @@ -120,6 +120,18 @@ source "drivers/media/platform/s5p-tv/Kconfig"
>>  source "drivers/media/platform/am437x/Kconfig"
>>  source "drivers/media/platform/xilinx/Kconfig"
>>  
>> +config VIDEO_TI_CAL
>> +tristate "TI CAL (Camera Adaptation Layer) driver"
>> +depends on VIDEO_DEV && VIDEO_V4L2 && SOC_DRA7XX
>> +depends on VIDEO_V4L2_SUBDEV_API
>> +depends on VIDEOBUF2_DMA_CONTIG
> 
> This should be:
> 
>depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
>depends on SOC_DRA7XX || COMPILE_TEST
>select VIDEOBUF2_DMA_CONTIG
> 
>> +default n
>> +---help---
>> +  Support for the TI CAL (Camera Adaptation Layer) block
>> +  found on DRA72X SoC.
>> +  In TI Technical Reference Manual this module is referred as
>> +  Camera Interface Subsystem (CAMSS).
>> +
>>  endif # V4L_PLATFORM_DRIVERS
>>  
>>  menuconfig V4L_MEM2MEM_DRIVERS
> 
> By compiling with COMPILE_TEST I found a number of compile warnings and it 
> also no
> longer compiled due to vb2 changes. Both are fixed in the patch below.
> 
> SoB for the patch: Signed-off-by: Hans Verkuil 
> 
> That said, I'll postpone merging this until the remainder of the vb2 split 
> patches
> have been merged. When that's done this driver will have to be changed some 
> more.

OK, the vb2 split patches were just merged. Can you rebase and repost?

Thanks,

Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/1] x86: Fix reading the current exposure value of UVC

2015-10-20 Thread Шокуров Антон
Hello!

Have you received my patch? When will it be included in the kernel?

Thanks!

19.10.2015, 00:02, "Anton V. Shokurov" :
> V4L2_CID_EXPOSURE_ABSOLUTE property does not return an updated value when
> autoexposure (V4L2_CID_EXPOSURE_AUTO) is turned on. This patch fixes this
> issue by adding the UVC_CTRL_FLAG_AUTO_UPDATE flag.
>
> Tested on a C920 camera.
>
> Signed-off-by: Anton V. Shokurov 
> ---
>  drivers/media/usb/uvc/uvc_ctrl.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_ctrl.c 
> b/drivers/media/usb/uvc/uvc_ctrl.c
> index 3e59b28..c2ee6e3 100644
> --- a/drivers/media/usb/uvc/uvc_ctrl.c
> +++ b/drivers/media/usb/uvc/uvc_ctrl.c
> @@ -227,7 +227,8 @@ static struct uvc_control_info uvc_ctrls[] = {
>  .size = 4,
>  .flags = UVC_CTRL_FLAG_SET_CUR
>  | UVC_CTRL_FLAG_GET_RANGE
> - | UVC_CTRL_FLAG_RESTORE,
> + | UVC_CTRL_FLAG_RESTORE
> + | UVC_CTRL_FLAG_AUTO_UPDATE,
>  },
>  {
>  .entity = UVC_GUID_UVC_CAMERA,
> --
> 2.6.0
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] v4l-utils: mc_nextgen_test add ALSA capture, playback, and mixer

2015-10-20 Thread Shuah Khan
Add support for ALSA capture, playback, and mixer entity functions.

Signed-off-by: Shuah Khan 
---
 contrib/test/mc_nextgen_test.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/contrib/test/mc_nextgen_test.c b/contrib/test/mc_nextgen_test.c
index e287096..e0d0ad2 100644
--- a/contrib/test/mc_nextgen_test.c
+++ b/contrib/test/mc_nextgen_test.c
@@ -227,6 +227,12 @@ static inline const char *ent_function(uint32_t function)
return "ATV decoder";
case MEDIA_ENT_F_TUNER:
return "tuner";
+   case MEDIA_ENT_F_AUDIO_CAPTURE:
+   return "Audio Capture";
+   case MEDIA_ENT_F_AUDIO_PLAYBACK:
+   return "Audio Playback";
+   case MEDIA_ENT_F_AUDIO_MIXER:
+   return "Audio Mixer";
case MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN:
default:
return "unknown entity type";
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH MC Next Gen v2 2/3] sound/usb: Create media mixer function and control interface entities

2015-10-20 Thread Shuah Khan
Add support for creating MEDIA_ENT_F_AUDIO_MIXER entity for
each mixer and a MEDIA_INTF_T_ALSA_CONTROL control interface
entity that links to mixer entities. MEDIA_INTF_T_ALSA_CONTROL
entity corresponds to the control device for the card.

Signed-off-by: Shuah Khan 
---
 sound/usb/card.c |  5 +++
 sound/usb/media.c| 89 
 sound/usb/media.h| 20 
 sound/usb/mixer.h|  1 +
 sound/usb/usbaudio.h |  1 +
 5 files changed, 116 insertions(+)

diff --git a/sound/usb/card.c b/sound/usb/card.c
index 469d2bf..d004cb4 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -560,6 +560,9 @@ static int usb_audio_probe(struct usb_interface *intf,
if (err < 0)
goto __error;
 
+   /* Create media entities for mixer and control dev */
+   media_mixer_init(chip);
+
usb_chip[chip->index] = chip;
chip->num_interfaces++;
chip->probing = 0;
@@ -616,6 +619,8 @@ static void usb_audio_disconnect(struct usb_interface *intf)
list_for_each(p, >midi_list) {
snd_usbmidi_disconnect(p);
}
+   /* delete mixer media resources */
+   media_mixer_delete(chip);
/* release mixer resources */
list_for_each_entry(mixer, >mixer_list, list) {
snd_usb_mixer_disconnect(mixer);
diff --git a/sound/usb/media.c b/sound/usb/media.c
index 0cbfee6..a26ea8b 100644
--- a/sound/usb/media.c
+++ b/sound/usb/media.c
@@ -199,4 +199,93 @@ void media_stop_pipeline(struct snd_usb_substream *subs)
if (mctl)
media_disable_source(mctl);
 }
+
+int media_mixer_init(struct snd_usb_audio *chip)
+{
+   struct device *ctl_dev = >card->ctl_dev;
+   struct media_intf_devnode *ctl_intf;
+   struct usb_mixer_interface *mixer;
+   struct media_device *mdev;
+   struct media_mixer_ctl *mctl;
+   u32 intf_type = MEDIA_INTF_T_ALSA_CONTROL;
+   int ret;
+
+   mdev = media_device_find_devres(>dev->dev);
+   if (!mdev)
+   return -ENODEV;
+
+   ctl_intf = (struct media_intf_devnode *) chip->ctl_intf_media_devnode;
+   if (!ctl_intf) {
+   ctl_intf = (void *) media_devnode_create(mdev,
+intf_type, 0,
+MAJOR(ctl_dev->devt),
+MINOR(ctl_dev->devt));
+   if (!ctl_intf)
+   return -ENOMEM;
+   }
+
+   list_for_each_entry(mixer, >mixer_list, list) {
+
+   if (mixer->media_mixer_ctl)
+   continue;
+
+   /* allocate media_ctl */
+   mctl = kzalloc(sizeof(struct media_ctl), GFP_KERNEL);
+   if (!mctl)
+   return -ENOMEM;
+
+   mixer->media_mixer_ctl = (void *) mctl;
+   mctl->media_dev = mdev;
+
+   mctl->media_entity.function = MEDIA_ENT_F_AUDIO_MIXER;
+   mctl->media_entity.name = chip->card->mixername;
+   mctl->media_pad[0].flags = MEDIA_PAD_FL_SINK;
+   mctl->media_pad[1].flags = MEDIA_PAD_FL_SOURCE;
+   mctl->media_pad[2].flags = MEDIA_PAD_FL_SOURCE;
+   media_entity_init(>media_entity, MEDIA_MIXER_PAD_MAX,
+ mctl->media_pad);
+   ret =  media_device_register_entity(mctl->media_dev,
+   >media_entity);
+   if (ret)
+   return ret;
+
+   mctl->intf_link = media_create_intf_link(>media_entity,
+_intf->intf,
+MEDIA_LNK_FL_ENABLED);
+   if (!mctl->intf_link) {
+   media_device_unregister_entity(>media_entity);
+   return -ENOMEM;
+   }
+   mctl->intf_devnode = ctl_intf;
+   }
+   return 0;
+}
+
+void media_mixer_delete(struct snd_usb_audio *chip)
+{
+   struct usb_mixer_interface *mixer;
+   struct media_device *mdev;
+
+   mdev = media_device_find_devres(>dev->dev);
+   if (!mdev)
+   return;
+
+   list_for_each_entry(mixer, >mixer_list, list) {
+   struct media_mixer_ctl *mctl;
+
+   mctl = (struct media_mixer_ctl *) mixer->media_mixer_ctl;
+   if (!mixer->media_mixer_ctl)
+   continue;
+
+   media_entity_remove_links(>media_entity);
+   media_device_unregister_entity(>media_entity);
+   media_entity_cleanup(>media_entity);
+   mctl->media_dev = NULL;
+   mctl->intf_devnode = NULL;
+   kfree(mctl);
+   mixer->media_mixer_ctl = NULL;
+ 

[PATCH MC Next Gen v2 3/3] media: au0828 create link between ALSA Mixer and decoder

2015-10-20 Thread Shuah Khan
Change au0828_create_media_graph() to create pad link
between MEDIA_ENT_F_AUDIO_MIXER entity and decoder's
AU8522_PAD_AUDIO_OUT. With mixer entity now linked to
decoder, change to link MEDIA_ENT_F_AUDIO_CAPTURE to
mixer's source pad.

Signed-off-by: Shuah Khan 
---
 drivers/media/usb/au0828/au0828-core.c | 17 ++---
 drivers/media/usb/au0828/au0828.h  |  1 +
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/drivers/media/usb/au0828/au0828-core.c 
b/drivers/media/usb/au0828/au0828-core.c
index 7af5d0d..3ef6fee 100644
--- a/drivers/media/usb/au0828/au0828-core.c
+++ b/drivers/media/usb/au0828/au0828-core.c
@@ -225,6 +225,7 @@ void au0828_create_media_graph(struct media_entity *new, 
void *notify_data)
struct media_entity *entity;
struct media_entity *tuner = NULL, *decoder = NULL;
struct media_entity *audio_capture = NULL;
+   struct media_entity *mixer = NULL;
int i, ret;
 
if (!mdev)
@@ -245,6 +246,9 @@ void au0828_create_media_graph(struct media_entity *new, 
void *notify_data)
case MEDIA_ENT_F_AUDIO_CAPTURE:
audio_capture = entity;
break;
+   case MEDIA_ENT_F_AUDIO_MIXER:
+   mixer = entity;
+   break;
}
}
 
@@ -309,13 +313,20 @@ void au0828_create_media_graph(struct media_entity *new, 
void *notify_data)
}
}
 
-   if (audio_capture && !dev->audio_capture_linked) {
-   ret = media_create_pad_link(decoder, AU8522_PAD_AUDIO_OUT,
-   audio_capture, 0,
+   if (mixer && audio_capture && !dev->audio_capture_linked) {
+   ret = media_create_pad_link(mixer, 1, audio_capture, 0,
MEDIA_LNK_FL_ENABLED);
if (ret == 0)
dev->audio_capture_linked = 1;
}
+
+   if (mixer && !dev->mixer_linked) {
+   ret = media_create_pad_link(decoder, AU8522_PAD_AUDIO_OUT,
+   mixer, 0,
+   MEDIA_LNK_FL_ENABLED);
+   if (ret == 0)
+   dev->mixer_linked = 1;
+   }
 #endif
 }
 
diff --git a/drivers/media/usb/au0828/au0828.h 
b/drivers/media/usb/au0828/au0828.h
index 2f4d597..6dd81b2 100644
--- a/drivers/media/usb/au0828/au0828.h
+++ b/drivers/media/usb/au0828/au0828.h
@@ -288,6 +288,7 @@ struct au0828_dev {
bool vdev_linked;
bool vbi_linked;
bool audio_capture_linked;
+   bool mixer_linked;
struct media_link *active_link;
struct media_entity *active_link_owner;
 #endif
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH MC Next Gen v2 0/3] Add mixer and control interface media entities

2015-10-20 Thread Shuah Khan
This patch v2 series adds the following:

A fix to media_stream_delete() to remove intf devnode.

Add support for creating MEDIA_ENT_F_AUDIO_MIXER entity for
each mixer and a MEDIA_INTF_T_ALSA_CONTROL control interface
entity that links to mixer entities. MEDIA_INTF_T_ALSA_CONTROL
entity corresponds to the control device for the card.

Change au0828_create_media_graph() to create pad link
between MEDIA_ENT_F_AUDIO_MIXER entity and decoder's
AU8522_PAD_AUDIO_OUT. With mixer entity now linked to
decoder, change to link MEDIA_ENT_F_AUDIO_CAPTURE to
mixer's source pad

Changes since v1:
1. Included the fix to media_stream_delete() which was by mistake
   not included in the patch v1.
2. Fixed mixer to decoder link and mider to capture node links
   based on Mauro Chehapb's review comments on the media graph.

This patch series is dependent on an earlier patch series:

Update ALSA, and au0828 drivers to use Managed Media Controller API:
https://www.mail-archive.com/linux-media@vger.kernel.org/msg92752.html

Please find the media graphs for ALSA work with mixer and control
interface nodes:

https://drive.google.com/folderview?id=0B0NIL0BQg-AlLWE3SzAxazBJWm8=sharing

Shuah Khan (3):
  sound/usb: Fix media_stream_delete() to remove intf devnode
  sound/usb: Create media mixer function and control interface entities
  media: au0828 create link between ALSA Mixer and decoder

 drivers/media/usb/au0828/au0828-core.c | 17 +--
 drivers/media/usb/au0828/au0828.h  |  1 +
 sound/usb/card.c   |  5 ++
 sound/usb/media.c  | 90 ++
 sound/usb/media.h  | 20 
 sound/usb/mixer.h  |  1 +
 sound/usb/usbaudio.h   |  1 +
 7 files changed, 132 insertions(+), 3 deletions(-)

-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH MC Next Gen v2 1/3] sound/usb: Fix media_stream_delete() to remove intf devnode

2015-10-20 Thread Shuah Khan
media_stream_delete() doesn't remove intf_devnode. Fix it to
call media_devnode_remove() to remove the intf_devnode.

Signed-off-by: Shuah Khan 
---
 sound/usb/media.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/usb/media.c b/sound/usb/media.c
index 9b455ad..0cbfee6 100644
--- a/sound/usb/media.c
+++ b/sound/usb/media.c
@@ -173,6 +173,7 @@ void media_stream_delete(struct snd_usb_substream *subs)
mdev = media_device_find_devres(>dev->dev);
if (mdev) {
media_entity_remove_links(>media_entity);
+   media_devnode_remove(mctl->intf_devnode);
media_device_unregister_entity(>media_entity);
media_entity_cleanup(>media_entity);
}
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


cron job: media_tree daily build: ERRORS

2015-10-20 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:   Wed Oct 21 04:00:41 CEST 2015
git branch: test
git hash:   79f5b6ae960d380c829fb67d5dadcd1d025d2775
gcc version:i686-linux-gcc (GCC) 5.1.0
sparse version: v0.5.0-51-ga53cea2
smatch version: 0.4.1-3153-g7d56ab3
host hardware:  x86_64
host os:4.0.0-3.slh.1-amd64

linux-git-arm-at91: OK
linux-git-arm-davinci: OK
linux-git-arm-exynos: OK
linux-git-arm-mx: OK
linux-git-arm-omap: OK
linux-git-arm-omap1: OK
linux-git-arm-pxa: OK
linux-git-blackfin-bf561: OK
linux-git-i686: OK
linux-git-m32r: OK
linux-git-mips: OK
linux-git-powerpc64: OK
linux-git-sh: OK
linux-git-x86_64: OK
linux-2.6.32.27-i686: ERRORS
linux-2.6.33.7-i686: ERRORS
linux-2.6.34.7-i686: ERRORS
linux-2.6.35.9-i686: ERRORS
linux-2.6.36.4-i686: ERRORS
linux-2.6.37.6-i686: ERRORS
linux-2.6.38.8-i686: ERRORS
linux-2.6.39.4-i686: ERRORS
linux-3.0.60-i686: ERRORS
linux-3.1.10-i686: ERRORS
linux-3.2.37-i686: ERRORS
linux-3.3.8-i686: ERRORS
linux-3.4.27-i686: ERRORS
linux-3.5.7-i686: ERRORS
linux-3.6.11-i686: ERRORS
linux-3.7.4-i686: ERRORS
linux-3.8-i686: ERRORS
linux-3.9.2-i686: ERRORS
linux-3.10.1-i686: ERRORS
linux-3.11.1-i686: ERRORS
linux-3.12.23-i686: ERRORS
linux-3.13.11-i686: ERRORS
linux-3.14.9-i686: ERRORS
linux-3.15.2-i686: ERRORS
linux-3.16.7-i686: ERRORS
linux-3.17.8-i686: ERRORS
linux-3.18.7-i686: ERRORS
linux-3.19-i686: ERRORS
linux-4.0-i686: ERRORS
linux-4.1.1-i686: ERRORS
linux-4.2-i686: ERRORS
linux-4.3-rc1-i686: ERRORS
linux-2.6.32.27-x86_64: ERRORS
linux-2.6.33.7-x86_64: ERRORS
linux-2.6.34.7-x86_64: ERRORS
linux-2.6.35.9-x86_64: ERRORS
linux-2.6.36.4-x86_64: ERRORS
linux-2.6.37.6-x86_64: ERRORS
linux-2.6.38.8-x86_64: ERRORS
linux-2.6.39.4-x86_64: ERRORS
linux-3.0.60-x86_64: ERRORS
linux-3.1.10-x86_64: ERRORS
linux-3.2.37-x86_64: ERRORS
linux-3.3.8-x86_64: ERRORS
linux-3.4.27-x86_64: ERRORS
linux-3.5.7-x86_64: ERRORS
linux-3.6.11-x86_64: ERRORS
linux-3.7.4-x86_64: ERRORS
linux-3.8-x86_64: ERRORS
linux-3.9.2-x86_64: ERRORS
linux-3.10.1-x86_64: ERRORS
linux-3.11.1-x86_64: ERRORS
linux-3.12.23-x86_64: ERRORS
linux-3.13.11-x86_64: ERRORS
linux-3.14.9-x86_64: ERRORS
linux-3.15.2-x86_64: ERRORS
linux-3.16.7-x86_64: ERRORS
linux-3.17.8-x86_64: ERRORS
linux-3.18.7-x86_64: ERRORS
linux-3.19-x86_64: ERRORS
linux-4.0-x86_64: ERRORS
linux-4.1.1-x86_64: ERRORS
linux-4.2-x86_64: ERRORS
linux-4.3-rc1-x86_64: ERRORS
apps: OK
spec-git: OK
ABI WARNING: change for arm-at91
ABI WARNING: change for arm-davinci
ABI WARNING: change for arm-exynos
ABI WARNING: change for arm-mx
ABI WARNING: change for arm-omap
ABI WARNING: change for arm-omap1
ABI WARNING: change for arm-pxa
ABI WARNING: change for blackfin-bf561
ABI WARNING: change for i686
ABI WARNING: change for m32r
ABI WARNING: change for mips
ABI WARNING: change for powerpc64
ABI WARNING: change for sh
ABI WARNING: change for x86_64
sparse: WARNINGS
smatch: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Wednesday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Wednesday.tar.bz2

The Media Infrastructure API from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html