diff mbox series

drm/of: Consider the state in which the ep is disabled

Message ID 20200706075944.11558-1-hjc@rock-chips.com (mailing list archive)
State New, archived
Headers show
Series drm/of: Consider the state in which the ep is disabled | expand

Commit Message

黄家钗 July 6, 2020, 7:59 a.m. UTC
don't mask possible_crtcs if remote-point is disabled.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
---
 drivers/gpu/drm/drm_of.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

黄家钗 July 7, 2020, 11:29 a.m. UTC | #1
Hi heiko

在 2020/7/6 17:47, Heiko Stübner 写道:
> Hi Sandy,
>
> Am Montag, 6. Juli 2020, 09:59:44 CEST schrieb Sandy Huang:
>> don't mask possible_crtcs if remote-point is disabled.
>>
>> Signed-off-by: Sandy Huang <hjc@rock-chips.com>
>> ---
>>   drivers/gpu/drm/drm_of.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c
>> index fdb05fbf72a0..f5f250435add 100644
>> --- a/drivers/gpu/drm/drm_of.c
>> +++ b/drivers/gpu/drm/drm_of.c
>> @@ -66,6 +66,11 @@ uint32_t drm_of_find_possible_crtcs(struct drm_device *dev,
>>   	uint32_t possible_crtcs = 0;
>>   
>>   	for_each_endpoint_of_node(port, ep) {
>> +		if (!of_device_is_available(ep)) {
>> +			of_node_put(ep);
> You'd only need the of_node_put here, if you were exiting the loop.
>
> With the "continue" below, the next iteration of for_each_endpoint_of_node
> will do the put on "ep"
Just as we communicate on the google talk, the v2 patch will delete 
of_node_put(ep) and leave continue, thanks.
>
> Heiko
>
>> +			continue;
>> +		}
>> +
>>   		remote_port = of_graph_get_remote_port(ep);
>>   		if (!remote_port) {
>>   			of_node_put(ep);
>>
>
>
>
>
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c
index fdb05fbf72a0..f5f250435add 100644
--- a/drivers/gpu/drm/drm_of.c
+++ b/drivers/gpu/drm/drm_of.c
@@ -66,6 +66,11 @@  uint32_t drm_of_find_possible_crtcs(struct drm_device *dev,
 	uint32_t possible_crtcs = 0;
 
 	for_each_endpoint_of_node(port, ep) {
+		if (!of_device_is_available(ep)) {
+			of_node_put(ep);
+			continue;
+		}
+
 		remote_port = of_graph_get_remote_port(ep);
 		if (!remote_port) {
 			of_node_put(ep);