public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 00/20] solo6x10: V4L2 compliancy fixes and major overhaul
@ 2013-03-02 23:45 Hans Verkuil
  2013-03-02 23:45 ` [RFC PATCH 01/20] videobuf2: add gfp_flags Hans Verkuil
  2013-03-07 18:46 ` [RFC PATCH 00/20] solo6x10: V4L2 compliancy fixes and major overhaul Ismael Luceno
  0 siblings, 2 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-03-02 23:45 UTC (permalink / raw)
  To: linux-media; +Cc: Ismael Luceno

Hi all,

This patch series updates the solo6x10 staging driver to a usable state.

It has been tested with my Bluecherry BC-04120A MPEG4 4 port video encoder/decoder
card, generously provided by Bluecherry about two years ago.

Most of these fixes are the usual fall-out from testing with v4l2-compliance,
but due to the many locking errors in this driver I decided to also convert
it to vb2. It was frankly easier then trying to fix the locking madness
caused by the interaction between threads and videobuf.

Currently this driver seems to be quite reliable (I haven't done any long-term
tests though), but there are a few TODO items:

1) Most importantly, the video from video0 is broken: it is supposed to be
   either one of the four inputs or a 2x2 image of all four inputs, instead I
   always get the first video line of the input repeated for the whole image.

   I have no idea why and it would be very nice if someone from Bluecherry
   can look at this. I do not see anything wrong in the DMA code, so it is
   a mystery to me. I'm beginning to wonder if you are actually supposed to
   be able to DMA from video0!

2) I couldn't get it to work on a big-endian system. I keep getting
   SOLO_PCI_ERR_P2M_DESC errors, but I see nothing wrong with the DMA
   descriptor. Perhaps if someone with a solo datasheet can tell me the
   possible causes of that error interrupt I might be able to figure it
   out. It's just the DMA setup that does something wrong, the rest seems
   fine.

3) What is the meaning of this snippet of code in v4l2-enc.c?

	if (pix->priv)
		solo_enc->type = SOLO_ENC_TYPE_EXT;

   I've commented it out since it is completely undocumented and no driver
   should assume that priv is non-zero anymore, precisely because of issues
   like this. Ismael, do you know what the difference is between SOLO_ENC_TYPE_STD
   and SOLO_ENC_TYPE_EXT?

4) Most of the sources and headers need to be renamed with a solo6x10- prefix.
   The current names are too general.

5) There is a custom extension for motion detection. I left that part unchanged
   as it doesn't look too bad, but I am unable to test it properly. I've
   ordered a suitable CCTV camera from dealextreme, but that will take a few
   weeks before I have it (dx.com is cheap, but delivery is quite slow). I'd
   like to experiment a bit with this.

6) The tw28* 'drivers' should really be split off as subdevice drivers, but
   unfortunately I don't have a datasheet for the tw2815 (I found one for the
   tw2864 though). If I ever get hold of a datasheet, then creating subdev
   drivers for this would be nice.

7) The kernel threads really should be replaced by workqueues.

All in all this driver is now almost ready to go into the mainline part of
the kernel. Before that's done I'd like to get items 1, 3 and 5 resolved
first. Ismael, it would be great if you could help me out with 1 and 3!

Regards,

	Hans


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2013-03-07 18:52 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-02 23:45 [RFC PATCH 00/20] solo6x10: V4L2 compliancy fixes and major overhaul Hans Verkuil
2013-03-02 23:45 ` [RFC PATCH 01/20] videobuf2: add gfp_flags Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 02/20] vb2-dma-sg: add debug module option Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 03/20] solo6x10: fix querycap Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 04/20] solo6x10: add v4l2_device Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 05/20] solo6x10: add control framework Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 06/20] solo6x10: fix scheduling while atomic error Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 07/20] solo6x10: fix various format-related compliancy issues Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 08/20] solo6x10: add support for prio and control event handling Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 09/20] solo6x10: move global fields in solo_enc_fh to solo_enc_dev Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 10/20] solo6x10: move global fields in solo_dev_fh to solo_dev Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 11/20] solo6x10: add missing size-- to enc_write_sg Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 12/20] solo6x10: rename the spinlock 'lock' to 'slock' Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 13/20] solo6x10: convert encoder nodes to vb2 Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 14/20] solo6x10: convert the display node " Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 15/20] solo6x10: use monotonic timestamps Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 16/20] solo6x10: drop video_type and add proper s_std support Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 17/20] solo6x10: update buffer flags to fix clash with existing flags Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 18/20] solo6x10: use correct __GFP_DMA32 flags Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 19/20] solo6x10: small big-endian fix Hans Verkuil
2013-03-02 23:45   ` [RFC PATCH 20/20] solo6x10: also stop DMA if the SOLO_PCI_ERR_P2M_DESC is raised Hans Verkuil
2013-03-07 18:46 ` [RFC PATCH 00/20] solo6x10: V4L2 compliancy fixes and major overhaul Ismael Luceno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox