/* DMA abstraction */
device->dma_abstract = device->pdata->dma_abstract;
- device->ssvc0.dma_ch[0] = device->pdata->dma_ch[0];
- device->ssvc1.dma_ch[0] = device->pdata->dma_ch[1];
- device->ssvc2.dma_ch[0] = device->pdata->dma_ch[2];
- device->ssvc3.dma_ch[0] = device->pdata->dma_ch[3];
+ device->ssvc0.dma_ch[SCM_WO_PAF_HW] = device->pdata->dma_ch[0];
+ device->ssvc1.dma_ch[SCM_WO_PAF_HW] = device->pdata->dma_ch[1];
+ device->ssvc2.dma_ch[SCM_WO_PAF_HW] = device->pdata->dma_ch[2];
+ device->ssvc3.dma_ch[SCM_WO_PAF_HW] = device->pdata->dma_ch[3];
- device->ssvc0.dma_ch[1] = device->pdata->dma_ch[4];
- device->ssvc1.dma_ch[1] = device->pdata->dma_ch[5];
- device->ssvc2.dma_ch[1] = device->pdata->dma_ch[6];
- device->ssvc3.dma_ch[1] = device->pdata->dma_ch[7];
+ device->ssvc0.dma_ch[SCM_W_PAF_HW] = device->pdata->dma_ch[4];
+ device->ssvc1.dma_ch[SCM_W_PAF_HW] = device->pdata->dma_ch[5];
+ device->ssvc2.dma_ch[SCM_W_PAF_HW] = device->pdata->dma_ch[6];
+ device->ssvc3.dma_ch[SCM_W_PAF_HW] = device->pdata->dma_ch[7];
/* VC abstraction */
- device->ssvc0.vc_ch[0] = device->pdata->vc_ch[0];
- device->ssvc1.vc_ch[0] = device->pdata->vc_ch[1];
- device->ssvc2.vc_ch[0] = device->pdata->vc_ch[2];
- device->ssvc3.vc_ch[0] = device->pdata->vc_ch[3];
-
- device->ssvc0.vc_ch[1] = device->pdata->vc_ch[4];
- device->ssvc1.vc_ch[1] = device->pdata->vc_ch[5];
- device->ssvc2.vc_ch[1] = device->pdata->vc_ch[6];
- device->ssvc3.vc_ch[1] = device->pdata->vc_ch[7];
+ device->ssvc0.vc_ch[SCM_WO_PAF_HW] = device->pdata->vc_ch[0];
+ device->ssvc1.vc_ch[SCM_WO_PAF_HW] = device->pdata->vc_ch[1];
+ device->ssvc2.vc_ch[SCM_WO_PAF_HW] = device->pdata->vc_ch[2];
+ device->ssvc3.vc_ch[SCM_WO_PAF_HW] = device->pdata->vc_ch[3];
+
+ device->ssvc0.vc_ch[SCM_W_PAF_HW] = device->pdata->vc_ch[4];
+ device->ssvc1.vc_ch[SCM_W_PAF_HW] = device->pdata->vc_ch[5];
+ device->ssvc2.vc_ch[SCM_W_PAF_HW] = device->pdata->vc_ch[6];
+ device->ssvc3.vc_ch[SCM_W_PAF_HW] = device->pdata->vc_ch[7];
set_bit(FIMC_IS_SENSOR_PROBE, &device->state);
struct camera2_node *node);
};
+enum subdev_ch_mode {
+ SCM_WO_PAF_HW,
+ SCM_W_PAF_HW,
+ SCM_MAX,
+};
+
struct fimc_is_subdev {
u32 id;
u32 vid; /* video id */
/*
* Parameter for DMA abstraction:
* This value is physical DMA & VC.
- * [0]: Without PDP (Use this when none PD mode is enabled.)
- * [1]: With PDP (Use this when PD mode is enabled.)
+ * [0]: Bypass PAF HW (Use this when none PD mode is enabled.)
+ * [1]: Processing PAF HW (Use this when PD mode is enabled.)
*/
- int dma_ch[2];
- int vc_ch[2];
+ int dma_ch[SCM_MAX];
+ int vc_ch[SCM_MAX];
};
int fimc_is_sensor_subdev_open(struct fimc_is_device_sensor *device,