[libcamera-devel] [PATCH 1/2] libcamera: pipeline: RKISP1 remove rockchip-sy-mipi-dphy

Helen Koike helen.koike at collabora.com
Wed Jul 3 22:21:53 CEST 2019


Remove subdevice rockchip-sy-mipi-dphy from the pipeline.
Sensors are connected direcly to rkisp1-isp-subdev.

Signed-off-by: Helen Koike <helen.koike at collabora.com>

---
Hello,

This depends on the v7[1] of driver being accepted upstream. But I'm
submitting anyway for reference.

[1] https://patchwork.kernel.org/project/linux-media/list/?series=141793

Thanks
Helen
---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 34 +++++-------------------
 utils/rkisp1/rkisp1-capture.sh           |  4 +--
 2 files changed, 8 insertions(+), 30 deletions(-)

diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 4a5898d..358e2c8 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -104,7 +104,6 @@ private:
 	void bufferReady(Buffer *buffer);
 
 	MediaDevice *media_;
-	V4L2Subdevice *dphy_;
 	V4L2Subdevice *isp_;
 	V4L2VideoDevice *video_;
 
@@ -201,8 +200,7 @@ CameraConfiguration::Status RkISP1CameraConfiguration::validate()
 }
 
 PipelineHandlerRkISP1::PipelineHandlerRkISP1(CameraManager *manager)
-	: PipelineHandler(manager), dphy_(nullptr), isp_(nullptr),
-	  video_(nullptr)
+	: PipelineHandler(manager), isp_(nullptr), video_(nullptr)
 {
 }
 
@@ -210,7 +208,6 @@ PipelineHandlerRkISP1::~PipelineHandlerRkISP1()
 {
 	delete video_;
 	delete isp_;
-	delete dphy_;
 }
 
 /* -----------------------------------------------------------------------------
@@ -250,7 +247,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
 	 * Configure the sensor links: enable the link corresponding to this
 	 * camera and disable all the other sensor links.
 	 */
-	const MediaPad *pad = dphy_->entity()->getPadByIndex(0);
+	const MediaPad *pad = isp_->entity()->getPadByIndex(0);
 
 	for (MediaLink *link : pad->links()) {
 		bool enable = link->source()->entity() == sensor->entity();
@@ -282,18 +279,14 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
 
 	LOG(RkISP1, Debug) << "Sensor configured with " << format.toString();
 
-	ret = dphy_->setFormat(0, &format);
-	if (ret < 0)
-		return ret;
-
-	ret = dphy_->getFormat(1, &format);
-	if (ret < 0)
-		return ret;
+	LOG(RkISP1, Debug) << "Configuring ISP with " << format.toString();
 
 	ret = isp_->setFormat(0, &format);
 	if (ret < 0)
 		return ret;
 
+	LOG(RkISP1, Debug) << "ISP configured with " << format.toString();
+
 	V4L2DeviceFormat outputFormat = {};
 	outputFormat.fourcc = cfg.pixelFormat;
 	outputFormat.size = cfg.size;
@@ -393,14 +386,6 @@ int PipelineHandlerRkISP1::initLinks()
 	if (ret < 0)
 		return ret;
 
-	link = media_->link("rockchip-sy-mipi-dphy", 1, "rkisp1-isp-subdev", 0);
-	if (!link)
-		return -ENODEV;
-
-	ret = link->setEnabled(true);
-	if (ret < 0)
-		return ret;
-
 	link = media_->link("rkisp1-isp-subdev", 2, "rkisp1_mainpath", 0);
 	if (!link)
 		return -ENODEV;
@@ -442,17 +427,12 @@ bool PipelineHandlerRkISP1::match(DeviceEnumerator *enumerator)
 	dm.add("rkisp1_mainpath");
 	dm.add("rkisp1-statistics");
 	dm.add("rkisp1-input-params");
-	dm.add("rockchip-sy-mipi-dphy");
 
 	media_ = acquireMediaDevice(enumerator, dm);
 	if (!media_)
 		return false;
 
 	/* Create the V4L2 subdevices we will need. */
-	dphy_ = V4L2Subdevice::fromEntityName(media_, "rockchip-sy-mipi-dphy");
-	if (dphy_->open() < 0)
-		return false;
-
 	isp_ = V4L2Subdevice::fromEntityName(media_, "rkisp1-isp-subdev");
 	if (isp_->open() < 0)
 		return false;
@@ -471,10 +451,10 @@ bool PipelineHandlerRkISP1::match(DeviceEnumerator *enumerator)
 	}
 
 	/*
-	 * Enumerate all sensors connected to the CSI-2 receiver and create one
+	 * Enumerate all sensors connected to the ISP receiver and create one
 	 * camera instance for each of them.
 	 */
-	pad = dphy_->entity()->getPadByIndex(0);
+	pad = isp_->entity()->getPadByIndex(0);
 	if (!pad)
 		return false;
 
diff --git a/utils/rkisp1/rkisp1-capture.sh b/utils/rkisp1/rkisp1-capture.sh
index cffe9fe..8a6f6eb 100755
--- a/utils/rkisp1/rkisp1-capture.sh
+++ b/utils/rkisp1/rkisp1-capture.sh
@@ -68,12 +68,10 @@ configure_pipeline() {
 
 	$mediactl -r
 
-	$mediactl -l "'$sensor':0 -> 'rockchip-sy-mipi-dphy':0 [1]"
-	$mediactl -l "'rockchip-sy-mipi-dphy':1 -> 'rkisp1-isp-subdev':0 [1]"
+	$mediactl -l "'$sensor':0 -> 'rkisp1-isp-subdev':0 [1]"
 	$mediactl -l "'rkisp1-isp-subdev':2 -> 'rkisp1_mainpath':0 [1]"
 
 	$mediactl -V "\"$sensor\":0 [$format]"
-	$mediactl -V "'rockchip-sy-mipi-dphy':1 [$format]"
 	$mediactl -V "'rkisp1-isp-subdev':0 [$format crop:(0,0)/$sensor_size]"
 	$mediactl -V "'rkisp1-isp-subdev':2 [fmt:$capture_mbus_code/$capture_size crop:(0,0)/$capture_size]"
 }
-- 
2.20.1



More information about the libcamera-devel mailing list