[media] s5p-mfc: Allocate firmware with internal private buffer alloc function
Once firmware buffer has been converted to use s5p_mfc_priv_buf structure, it is possible to allocate it with existing s5p_mfc_alloc_priv_buf() function. This change will help to reduce code variants in the next patches. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Acked-by: Andrzej Hajda <a.hajda@samsung.com> Tested-by: Smitha T Murthy <smitha.t@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
94eaccc064
commit
d1ff4e17b2
@ -27,6 +27,7 @@
|
||||
int s5p_mfc_alloc_firmware(struct s5p_mfc_dev *dev)
|
||||
{
|
||||
struct s5p_mfc_priv_buf *fw_buf = &dev->fw_buf;
|
||||
int err;
|
||||
|
||||
fw_buf->size = dev->variant->buf_size->fw;
|
||||
|
||||
@ -35,11 +36,10 @@ int s5p_mfc_alloc_firmware(struct s5p_mfc_dev *dev)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
fw_buf->virt = dma_alloc_coherent(dev->mem_dev[BANK1_CTX], fw_buf->size,
|
||||
&fw_buf->dma, GFP_KERNEL);
|
||||
if (!fw_buf->virt) {
|
||||
err = s5p_mfc_alloc_priv_buf(dev, BANK1_CTX, &dev->fw_buf);
|
||||
if (err) {
|
||||
mfc_err("Allocating bitprocessor buffer failed\n");
|
||||
return -ENOMEM;
|
||||
return err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -92,11 +92,7 @@ int s5p_mfc_release_firmware(struct s5p_mfc_dev *dev)
|
||||
{
|
||||
/* Before calling this function one has to make sure
|
||||
* that MFC is no longer processing */
|
||||
if (!dev->fw_buf.virt)
|
||||
return -EINVAL;
|
||||
dma_free_coherent(dev->mem_dev[BANK1_CTX], dev->fw_buf.size,
|
||||
dev->fw_buf.virt, dev->fw_buf.dma);
|
||||
dev->fw_buf.virt = NULL;
|
||||
s5p_mfc_release_priv_buf(dev, &dev->fw_buf);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user