Lines Matching refs:sensor
669 v4l2_warn(sd, "No link between dphy and sensor\n");
727 struct mipidphy_sensor *sensor = sd_to_sensor(priv, sensor_sd);
736 sensor->mbus = mbus;
739 sensor->lanes = 1;
742 sensor->lanes = 0x02;
745 sensor->lanes = 0x03;
748 sensor->lanes = 0x04;
851 struct v4l2_subdev *sensor = get_remote_sensor(sd);
853 if (sensor) {
854 return v4l2_subdev_call(sensor, video, g_frame_interval, fi);
864 struct mipidphy_sensor *sensor;
869 sensor = sd_to_sensor(priv, sensor_sd);
871 *config = sensor->mbus;
929 /* dphy accepts all fmt/size from sensor */
935 struct mipidphy_sensor *sensor = sd_to_sensor(priv, sensor_sd);
939 * set currently in the sensor.
946 sensor->format = fmt->format;
954 struct v4l2_subdev *sensor = get_remote_sensor(sd);
956 return v4l2_subdev_call(sensor, pad, get_selection, NULL, sel);
1084 struct mipidphy_sensor *sensor = sd_to_sensor(priv, sensor_sd);
1155 write_grf_reg(priv, GRF_DPHY_RX0_ENABLE, GENMASK(sensor->lanes - 1, 0));
1174 struct mipidphy_sensor *sensor = sd_to_sensor(priv, sensor_sd);
1269 write_grf_reg(priv, GRF_DPHY_TX1RX1_ENABLE, GENMASK(sensor->lanes - 1, 0));
1291 struct mipidphy_sensor *sensor = sd_to_sensor(priv, sensor_sd);
1305 ((GENMASK(sensor->lanes - 1, 0) << MIPI_CSI_DPHY_CTRL_DATALANE_ENABLE_OFFSET_BIT) |
1312 if (sensor->mbus.type == V4L2_MBUS_CSI2_DPHY) {
1321 switch (sensor->format.code) {
1349 if (sensor->lanes > 0x00) {
1352 if (sensor->lanes > 0x01) {
1355 if (sensor->lanes > 0x02) {
1358 if (sensor->lanes > 0x03) {
1379 if (sensor->lanes > 0x00) {
1382 if (sensor->lanes > 0x01) {
1385 if (sensor->lanes > 0x02) {
1388 if (sensor->lanes > 0x03) {
1394 write_grf_reg(priv, GRF_DPHY_CSIPHY_DATALANE_EN, GENMASK(sensor->lanes - 1, 0));
1508 struct mipidphy_sensor *sensor;
1515 sensor = &priv->sensors[priv->num_sensors++];
1516 sensor->lanes = s_asd->lanes;
1517 sensor->mbus = s_asd->mbus;
1518 sensor->sd = sd;
1521 for (pad = 0; pad < sensor->sd->entity.num_pads; pad++) {
1522 if (sensor->sd->entity.pads[pad].flags & MEDIA_PAD_FL_SOURCE) {
1527 if (pad == sensor->sd->entity.num_pads) {
1528 dev_err(priv->dev, "failed to find src pad for %s\n", sensor->sd->name);
1533 ret = media_create_pad_link(&sensor->sd->entity, pad, &priv->sd.entity, MIPI_DPHY_RX_PAD_SINK,
1536 dev_err(priv->dev, "failed to create link for %s\n", sensor->sd->name);
1548 struct mipidphy_sensor *sensor = sd_to_sensor(priv, sd);
1550 sensor->sd = NULL;