media: common: saa7146: drop 'fmt' from struct saa7146_buf
Use the video_fmt in saa7146_vv instead of having a pointer to it in struct saa7146_buf. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
acdb157328
commit
c79dbdae3a
|
@ -407,14 +407,14 @@ void saa7146_write_out_dma(struct saa7146_dev* dev, int which, struct saa7146_vi
|
||||||
static int calculate_video_dma_grab_packed(struct saa7146_dev* dev, struct saa7146_buf *buf)
|
static int calculate_video_dma_grab_packed(struct saa7146_dev* dev, struct saa7146_buf *buf)
|
||||||
{
|
{
|
||||||
struct saa7146_vv *vv = dev->vv_data;
|
struct saa7146_vv *vv = dev->vv_data;
|
||||||
|
struct v4l2_pix_format *pix = &vv->video_fmt;
|
||||||
struct saa7146_video_dma vdma1;
|
struct saa7146_video_dma vdma1;
|
||||||
|
struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev, pix->pixelformat);
|
||||||
|
|
||||||
struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev,buf->fmt->pixelformat);
|
int width = pix->width;
|
||||||
|
int height = pix->height;
|
||||||
int width = buf->fmt->width;
|
int bytesperline = pix->bytesperline;
|
||||||
int height = buf->fmt->height;
|
enum v4l2_field field = pix->field;
|
||||||
int bytesperline = buf->fmt->bytesperline;
|
|
||||||
enum v4l2_field field = buf->fmt->field;
|
|
||||||
|
|
||||||
int depth = sfmt->depth;
|
int depth = sfmt->depth;
|
||||||
|
|
||||||
|
@ -469,8 +469,9 @@ static int calculate_video_dma_grab_packed(struct saa7146_dev* dev, struct saa71
|
||||||
|
|
||||||
static int calc_planar_422(struct saa7146_vv *vv, struct saa7146_buf *buf, struct saa7146_video_dma *vdma2, struct saa7146_video_dma *vdma3)
|
static int calc_planar_422(struct saa7146_vv *vv, struct saa7146_buf *buf, struct saa7146_video_dma *vdma2, struct saa7146_video_dma *vdma3)
|
||||||
{
|
{
|
||||||
int height = buf->fmt->height;
|
struct v4l2_pix_format *pix = &vv->video_fmt;
|
||||||
int width = buf->fmt->width;
|
int height = pix->height;
|
||||||
|
int width = pix->width;
|
||||||
|
|
||||||
vdma2->pitch = width;
|
vdma2->pitch = width;
|
||||||
vdma3->pitch = width;
|
vdma3->pitch = width;
|
||||||
|
@ -500,8 +501,9 @@ static int calc_planar_422(struct saa7146_vv *vv, struct saa7146_buf *buf, struc
|
||||||
|
|
||||||
static int calc_planar_420(struct saa7146_vv *vv, struct saa7146_buf *buf, struct saa7146_video_dma *vdma2, struct saa7146_video_dma *vdma3)
|
static int calc_planar_420(struct saa7146_vv *vv, struct saa7146_buf *buf, struct saa7146_video_dma *vdma2, struct saa7146_video_dma *vdma3)
|
||||||
{
|
{
|
||||||
int height = buf->fmt->height;
|
struct v4l2_pix_format *pix = &vv->video_fmt;
|
||||||
int width = buf->fmt->width;
|
int height = pix->height;
|
||||||
|
int width = pix->width;
|
||||||
|
|
||||||
vdma2->pitch = width/2;
|
vdma2->pitch = width/2;
|
||||||
vdma3->pitch = width/2;
|
vdma3->pitch = width/2;
|
||||||
|
@ -530,15 +532,15 @@ static int calc_planar_420(struct saa7146_vv *vv, struct saa7146_buf *buf, struc
|
||||||
static int calculate_video_dma_grab_planar(struct saa7146_dev* dev, struct saa7146_buf *buf)
|
static int calculate_video_dma_grab_planar(struct saa7146_dev* dev, struct saa7146_buf *buf)
|
||||||
{
|
{
|
||||||
struct saa7146_vv *vv = dev->vv_data;
|
struct saa7146_vv *vv = dev->vv_data;
|
||||||
|
struct v4l2_pix_format *pix = &vv->video_fmt;
|
||||||
struct saa7146_video_dma vdma1;
|
struct saa7146_video_dma vdma1;
|
||||||
struct saa7146_video_dma vdma2;
|
struct saa7146_video_dma vdma2;
|
||||||
struct saa7146_video_dma vdma3;
|
struct saa7146_video_dma vdma3;
|
||||||
|
struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev, pix->pixelformat);
|
||||||
|
|
||||||
struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev,buf->fmt->pixelformat);
|
int width = pix->width;
|
||||||
|
int height = pix->height;
|
||||||
int width = buf->fmt->width;
|
enum v4l2_field field = pix->field;
|
||||||
int height = buf->fmt->height;
|
|
||||||
enum v4l2_field field = buf->fmt->field;
|
|
||||||
|
|
||||||
BUG_ON(0 == buf->pt[0].dma);
|
BUG_ON(0 == buf->pt[0].dma);
|
||||||
BUG_ON(0 == buf->pt[1].dma);
|
BUG_ON(0 == buf->pt[1].dma);
|
||||||
|
@ -717,8 +719,9 @@ static void saa7146_disable_clipping(struct saa7146_dev *dev)
|
||||||
|
|
||||||
void saa7146_set_capture(struct saa7146_dev *dev, struct saa7146_buf *buf, struct saa7146_buf *next)
|
void saa7146_set_capture(struct saa7146_dev *dev, struct saa7146_buf *buf, struct saa7146_buf *next)
|
||||||
{
|
{
|
||||||
struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev,buf->fmt->pixelformat);
|
|
||||||
struct saa7146_vv *vv = dev->vv_data;
|
struct saa7146_vv *vv = dev->vv_data;
|
||||||
|
struct v4l2_pix_format *pix = &vv->video_fmt;
|
||||||
|
struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev, pix->pixelformat);
|
||||||
u32 vdma1_prot_addr;
|
u32 vdma1_prot_addr;
|
||||||
|
|
||||||
DEB_CAP("buf:%p, next:%p\n", buf, next);
|
DEB_CAP("buf:%p, next:%p\n", buf, next);
|
||||||
|
@ -730,7 +733,7 @@ void saa7146_set_capture(struct saa7146_dev *dev, struct saa7146_buf *buf, struc
|
||||||
saa7146_write(dev, MC2, MASK_27 );
|
saa7146_write(dev, MC2, MASK_27 );
|
||||||
}
|
}
|
||||||
|
|
||||||
saa7146_set_window(dev, buf->fmt->width, buf->fmt->height, buf->fmt->field);
|
saa7146_set_window(dev, pix->width, pix->height, pix->field);
|
||||||
saa7146_set_output_format(dev, sfmt->trans);
|
saa7146_set_output_format(dev, sfmt->trans);
|
||||||
saa7146_disable_clipping(dev);
|
saa7146_disable_clipping(dev);
|
||||||
|
|
||||||
|
|
|
@ -93,11 +93,13 @@ struct saa7146_format* saa7146_format_by_fourcc(struct saa7146_dev *dev, int fou
|
||||||
|
|
||||||
static int saa7146_pgtable_build(struct saa7146_dev *dev, struct saa7146_buf *buf)
|
static int saa7146_pgtable_build(struct saa7146_dev *dev, struct saa7146_buf *buf)
|
||||||
{
|
{
|
||||||
|
struct saa7146_vv *vv = dev->vv_data;
|
||||||
struct pci_dev *pci = dev->pci;
|
struct pci_dev *pci = dev->pci;
|
||||||
struct videobuf_dmabuf *dma=videobuf_to_dma(&buf->vb);
|
struct videobuf_dmabuf *dma=videobuf_to_dma(&buf->vb);
|
||||||
struct scatterlist *list = dma->sglist;
|
struct scatterlist *list = dma->sglist;
|
||||||
int length = dma->sglen;
|
int length = dma->sglen;
|
||||||
struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev,buf->fmt->pixelformat);
|
struct v4l2_pix_format *pix = &vv->video_fmt;
|
||||||
|
struct saa7146_format *sfmt = saa7146_format_by_fourcc(dev, pix->pixelformat);
|
||||||
|
|
||||||
DEB_EE("dev:%p, buf:%p, sg_len:%d\n", dev, buf, length);
|
DEB_EE("dev:%p, buf:%p, sg_len:%d\n", dev, buf, length);
|
||||||
|
|
||||||
|
@ -108,7 +110,7 @@ static int saa7146_pgtable_build(struct saa7146_dev *dev, struct saa7146_buf *bu
|
||||||
__le32 *ptr1, *ptr2, *ptr3;
|
__le32 *ptr1, *ptr2, *ptr3;
|
||||||
__le32 fill;
|
__le32 fill;
|
||||||
|
|
||||||
int size = buf->fmt->width*buf->fmt->height;
|
int size = pix->width * pix->height;
|
||||||
int i,p,m1,m2,m3,o1,o2;
|
int i,p,m1,m2,m3,o1,o2;
|
||||||
|
|
||||||
switch( sfmt->depth ) {
|
switch( sfmt->depth ) {
|
||||||
|
@ -757,8 +759,7 @@ static int buffer_prepare(struct videobuf_queue *q,
|
||||||
buf->vb.height != vv->video_fmt.height ||
|
buf->vb.height != vv->video_fmt.height ||
|
||||||
buf->vb.size != size ||
|
buf->vb.size != size ||
|
||||||
buf->vb.field != field ||
|
buf->vb.field != field ||
|
||||||
buf->vb.field != vv->video_fmt.field ||
|
buf->vb.field != vv->video_fmt.field) {
|
||||||
buf->fmt != &vv->video_fmt) {
|
|
||||||
saa7146_dma_free(dev,q,buf);
|
saa7146_dma_free(dev,q,buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -770,10 +771,9 @@ static int buffer_prepare(struct videobuf_queue *q,
|
||||||
buf->vb.height = vv->video_fmt.height;
|
buf->vb.height = vv->video_fmt.height;
|
||||||
buf->vb.size = size;
|
buf->vb.size = size;
|
||||||
buf->vb.field = field;
|
buf->vb.field = field;
|
||||||
buf->fmt = &vv->video_fmt;
|
|
||||||
buf->vb.field = vv->video_fmt.field;
|
buf->vb.field = vv->video_fmt.field;
|
||||||
|
|
||||||
sfmt = saa7146_format_by_fourcc(dev,buf->fmt->pixelformat);
|
sfmt = saa7146_format_by_fourcc(dev, vv->video_fmt.pixelformat);
|
||||||
|
|
||||||
release_all_pagetables(dev, buf);
|
release_all_pagetables(dev, buf);
|
||||||
if( 0 != IS_PLANAR(sfmt->trans)) {
|
if( 0 != IS_PLANAR(sfmt->trans)) {
|
||||||
|
|
|
@ -60,7 +60,6 @@ struct saa7146_buf {
|
||||||
struct videobuf_buffer vb;
|
struct videobuf_buffer vb;
|
||||||
|
|
||||||
/* saa7146 specific */
|
/* saa7146 specific */
|
||||||
struct v4l2_pix_format *fmt;
|
|
||||||
int (*activate)(struct saa7146_dev *dev,
|
int (*activate)(struct saa7146_dev *dev,
|
||||||
struct saa7146_buf *buf,
|
struct saa7146_buf *buf,
|
||||||
struct saa7146_buf *next);
|
struct saa7146_buf *next);
|
||||||
|
|
Loading…
Reference in New Issue