Commit 691e1eee authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'media/v6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media fixes from Mauro Carvalho Chehab:

 - fix some unused-variable warning in mtk-mdp3

 - ignore unused suspend operations in nxp

 - some driver fixes in rcar-vin

* tag 'media/v6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
  media: platform: mtk-mdp3: work around unused-variable warning
  media: nxp: ignore unused suspend operations
  media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
  media: rcar-vin: Fix NV12 size alignment
  media: rcar-vin: Gen3 can not scale NV12
parents 80e62bc8 ae3c253f
...@@ -1035,7 +1035,6 @@ static int mdp_comp_sub_create(struct mdp_dev *mdp) ...@@ -1035,7 +1035,6 @@ static int mdp_comp_sub_create(struct mdp_dev *mdp)
{ {
struct device *dev = &mdp->pdev->dev; struct device *dev = &mdp->pdev->dev;
struct device_node *node, *parent; struct device_node *node, *parent;
const struct mtk_mdp_driver_data *data = mdp->mdp_data;
parent = dev->of_node->parent; parent = dev->of_node->parent;
...@@ -1045,7 +1044,7 @@ static int mdp_comp_sub_create(struct mdp_dev *mdp) ...@@ -1045,7 +1044,7 @@ static int mdp_comp_sub_create(struct mdp_dev *mdp)
int id, alias_id; int id, alias_id;
struct mdp_comp *comp; struct mdp_comp *comp;
of_id = of_match_node(data->mdp_sub_comp_dt_ids, node); of_id = of_match_node(mdp->mdp_data->mdp_sub_comp_dt_ids, node);
if (!of_id) if (!of_id)
continue; continue;
if (!of_device_is_available(node)) { if (!of_device_is_available(node)) {
......
...@@ -378,8 +378,8 @@ static int mxc_isi_runtime_resume(struct device *dev) ...@@ -378,8 +378,8 @@ static int mxc_isi_runtime_resume(struct device *dev)
} }
static const struct dev_pm_ops mxc_isi_pm_ops = { static const struct dev_pm_ops mxc_isi_pm_ops = {
SET_SYSTEM_SLEEP_PM_OPS(mxc_isi_pm_suspend, mxc_isi_pm_resume) SYSTEM_SLEEP_PM_OPS(mxc_isi_pm_suspend, mxc_isi_pm_resume)
SET_RUNTIME_PM_OPS(mxc_isi_runtime_suspend, mxc_isi_runtime_resume, NULL) RUNTIME_PM_OPS(mxc_isi_runtime_suspend, mxc_isi_runtime_resume, NULL)
}; };
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
...@@ -528,7 +528,7 @@ static struct platform_driver mxc_isi_driver = { ...@@ -528,7 +528,7 @@ static struct platform_driver mxc_isi_driver = {
.driver = { .driver = {
.of_match_table = mxc_isi_of_match, .of_match_table = mxc_isi_of_match,
.name = MXC_ISI_DRIVER_NAME, .name = MXC_ISI_DRIVER_NAME,
.pm = &mxc_isi_pm_ops, .pm = pm_ptr(&mxc_isi_pm_ops),
} }
}; };
module_platform_driver(mxc_isi_driver); module_platform_driver(mxc_isi_driver);
......
...@@ -728,11 +728,9 @@ static int rvin_setup(struct rvin_dev *vin) ...@@ -728,11 +728,9 @@ static int rvin_setup(struct rvin_dev *vin)
case V4L2_FIELD_SEQ_TB: case V4L2_FIELD_SEQ_TB:
case V4L2_FIELD_SEQ_BT: case V4L2_FIELD_SEQ_BT:
case V4L2_FIELD_NONE: case V4L2_FIELD_NONE:
vnmc = VNMC_IM_ODD_EVEN;
progressive = true;
break;
case V4L2_FIELD_ALTERNATE: case V4L2_FIELD_ALTERNATE:
vnmc = VNMC_IM_ODD_EVEN; vnmc = VNMC_IM_ODD_EVEN;
progressive = true;
break; break;
default: default:
vnmc = VNMC_IM_ODD; vnmc = VNMC_IM_ODD;
...@@ -1312,12 +1310,23 @@ static int rvin_mc_validate_format(struct rvin_dev *vin, struct v4l2_subdev *sd, ...@@ -1312,12 +1310,23 @@ static int rvin_mc_validate_format(struct rvin_dev *vin, struct v4l2_subdev *sd,
} }
if (rvin_scaler_needed(vin)) { if (rvin_scaler_needed(vin)) {
/* Gen3 can't scale NV12 */
if (vin->info->model == RCAR_GEN3 &&
vin->format.pixelformat == V4L2_PIX_FMT_NV12)
return -EPIPE;
if (!vin->scaler) if (!vin->scaler)
return -EPIPE; return -EPIPE;
} else { } else {
if (fmt.format.width != vin->format.width || if (vin->format.pixelformat == V4L2_PIX_FMT_NV12) {
fmt.format.height != vin->format.height) if (ALIGN(fmt.format.width, 32) != vin->format.width ||
return -EPIPE; ALIGN(fmt.format.height, 32) != vin->format.height)
return -EPIPE;
} else {
if (fmt.format.width != vin->format.width ||
fmt.format.height != vin->format.height)
return -EPIPE;
}
} }
if (fmt.format.code != vin->mbus_code) if (fmt.format.code != vin->mbus_code)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment