From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sakari Ailus Subject: [PATCH v3 12/23] v4l: fwnode: Support driver-defined lane mapping defaults Date: Thu, 13 Sep 2018 00:29:31 +0300 Message-ID: <20180912212942.19641-13-sakari.ailus@linux.intel.com> References: <20180912212942.19641-1-sakari.ailus@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180912212942.19641-1-sakari.ailus@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, jacopo@jmondi.org, dri-devel@lists.freedesktop.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se List-Id: devicetree@vger.kernel.org TWFrZSB1c2Ugb2YgdGhlIGRlZmF1bHQgQ1NJLTIgbGFuZSBtYXBwaW5nIGZyb20gY2FsbGVyLXBh c3NlZApjb25maWd1cmF0aW9uLgoKU2lnbmVkLW9mZi1ieTogU2FrYXJpIEFpbHVzIDxzYWthcmku YWlsdXNAbGludXguaW50ZWwuY29tPgpUZXN0ZWQtYnk6IFN0ZXZlIExvbmdlcmJlYW0gPHN0ZXZl X2xvbmdlcmJlYW1AbWVudG9yLmNvbT4KLS0tCiBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwy LWZ3bm9kZS5jIHwgMjAgKysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMiBp bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv djRsMi1jb3JlL3Y0bDItZndub2RlLmMgYi9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWZ3 bm9kZS5jCmluZGV4IDFlYzc1OTBiMThiZC4uNjRjMjNjYmY2ZjBiIDEwMDY0NAotLS0gYS9kcml2 ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWZ3bm9kZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdjRs Mi1jb3JlL3Y0bDItZndub2RlLmMKQEAgLTU1LDEwICs1NSwxNCBAQCBzdGF0aWMgaW50IHY0bDJf Zndub2RlX2VuZHBvaW50X3BhcnNlX2NzaTJfYnVzKHN0cnVjdCBmd25vZGVfaGFuZGxlICpmd25v ZGUsCiAJdTMyIHY7CiAJaW50IHJ2YWw7CiAKLQlpZiAoYnVzX3R5cGUgPT0gVjRMMl9GV05PREVf QlVTX1RZUEVfQ1NJMl9EUEhZKQorCWlmIChidXNfdHlwZSA9PSBWNEwyX0ZXTk9ERV9CVVNfVFlQ RV9DU0kyX0RQSFkpIHsKIAkJbnVtX2RhdGFfbGFuZXMgPSBtaW5fdCh1MzIsIGJ1cy0+bnVtX2Rh dGFfbGFuZXMsCiAJCQkJICAgICAgIFY0TDJfRldOT0RFX0NTSTJfTUFYX0RBVEFfTEFORVMpOwog CisJCWZvciAoaSA9IDA7IGkgPCBudW1fZGF0YV9sYW5lczsgaSsrKQorCQkJYXJyYXlbaV0gPSBi dXMtPmRhdGFfbGFuZXNbaV07CisJfQorCiAJcnZhbCA9IGZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3Uz Ml9hcnJheShmd25vZGUsICJkYXRhLWxhbmVzIiwgTlVMTCwgMCk7CiAJaWYgKHJ2YWwgPiAwKSB7 CiAJCW51bV9kYXRhX2xhbmVzID0KQEAgLTY2LDE1ICs3MCwxNSBAQCBzdGF0aWMgaW50IHY0bDJf Zndub2RlX2VuZHBvaW50X3BhcnNlX2NzaTJfYnVzKHN0cnVjdCBmd25vZGVfaGFuZGxlICpmd25v ZGUsCiAKIAkJZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyX2FycmF5KGZ3bm9kZSwgImRhdGEtbGFu ZXMiLCBhcnJheSwKIAkJCQkJICAgICAgIG51bV9kYXRhX2xhbmVzKTsKKwl9CiAKLQkJZm9yIChp ID0gMDsgaSA8IG51bV9kYXRhX2xhbmVzOyBpKyspIHsKLQkJCWlmIChsYW5lc191c2VkICYgQklU KGFycmF5W2ldKSkKLQkJCQlwcl93YXJuKCJkdXBsaWNhdGVkIGxhbmUgJXUgaW4gZGF0YS1sYW5l c1xuIiwKLQkJCQkJYXJyYXlbaV0pOwotCQkJbGFuZXNfdXNlZCB8PSBCSVQoYXJyYXlbaV0pOwor CWZvciAoaSA9IDA7IGkgPCBudW1fZGF0YV9sYW5lczsgaSsrKSB7CisJCWlmIChsYW5lc191c2Vk ICYgQklUKGFycmF5W2ldKSkKKwkJCXByX3dhcm4oImR1cGxpY2F0ZWQgbGFuZSAldSBpbiBkYXRh LWxhbmVzXG4iLAorCQkJCWFycmF5W2ldKTsKKwkJbGFuZXNfdXNlZCB8PSBCSVQoYXJyYXlbaV0p OwogCi0JCQlwcl9kZWJ1ZygibGFuZSAldSBwb3NpdGlvbiAldVxuIiwgaSwgYXJyYXlbaV0pOwot CQl9CisJCXByX2RlYnVnKCJsYW5lICV1IHBvc2l0aW9uICV1XG4iLCBpLCBhcnJheVtpXSk7CiAJ fQogCiAJcnZhbCA9IGZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3UzMl9hcnJheShmd25vZGUsICJsYW5l LXBvbGFyaXRpZXMiLCBOVUxMLAotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:40982 "EHLO hillosipuli.retiisi.org.uk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727010AbeIMCgK (ORCPT ); Wed, 12 Sep 2018 22:36:10 -0400 From: Sakari Ailus To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se, jacopo@jmondi.org, p.zabel@pengutronix.de, dri-devel@lists.freedesktop.org Subject: [PATCH v3 12/23] v4l: fwnode: Support driver-defined lane mapping defaults Date: Thu, 13 Sep 2018 00:29:31 +0300 Message-Id: <20180912212942.19641-13-sakari.ailus@linux.intel.com> In-Reply-To: <20180912212942.19641-1-sakari.ailus@linux.intel.com> References: <20180912212942.19641-1-sakari.ailus@linux.intel.com> Sender: linux-media-owner@vger.kernel.org List-ID: Make use of the default CSI-2 lane mapping from caller-passed configuration. Signed-off-by: Sakari Ailus Tested-by: Steve Longerbeam --- drivers/media/v4l2-core/v4l2-fwnode.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c index 1ec7590b18bd..64c23cbf6f0b 100644 --- a/drivers/media/v4l2-core/v4l2-fwnode.c +++ b/drivers/media/v4l2-core/v4l2-fwnode.c @@ -55,10 +55,14 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode, u32 v; int rval; - if (bus_type == V4L2_FWNODE_BUS_TYPE_CSI2_DPHY) + if (bus_type == V4L2_FWNODE_BUS_TYPE_CSI2_DPHY) { num_data_lanes = min_t(u32, bus->num_data_lanes, V4L2_FWNODE_CSI2_MAX_DATA_LANES); + for (i = 0; i < num_data_lanes; i++) + array[i] = bus->data_lanes[i]; + } + rval = fwnode_property_read_u32_array(fwnode, "data-lanes", NULL, 0); if (rval > 0) { num_data_lanes = @@ -66,15 +70,15 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode, fwnode_property_read_u32_array(fwnode, "data-lanes", array, num_data_lanes); + } - for (i = 0; i < num_data_lanes; i++) { - if (lanes_used & BIT(array[i])) - pr_warn("duplicated lane %u in data-lanes\n", - array[i]); - lanes_used |= BIT(array[i]); + for (i = 0; i < num_data_lanes; i++) { + if (lanes_used & BIT(array[i])) + pr_warn("duplicated lane %u in data-lanes\n", + array[i]); + lanes_used |= BIT(array[i]); - pr_debug("lane %u position %u\n", i, array[i]); - } + pr_debug("lane %u position %u\n", i, array[i]); } rval = fwnode_property_read_u32_array(fwnode, "lane-polarities", NULL, -- 2.11.0