All of lore.kernel.org
 help / color / mirror / Atom feed
From: Inki Dae <inki.dae@samsung.com>
To: Andrzej Hajda <a.hajda@samsung.com>
Cc: linux-samsung-soc@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/exynos: resolve infinite loop issue on non multi-platform
Date: Fri, 07 Nov 2014 20:27:45 +0900	[thread overview]
Message-ID: <545CACB1.4000502@samsung.com> (raw)
In-Reply-To: <545C8302.30701@samsung.com>

On 2014년 11월 07일 17:29, Andrzej Hajda wrote:
> On 11/06/2014 03:10 PM, Inki Dae wrote:
>> This patch resovles the infinite loop issue incurred
>> when Exyno drm driver is enabled but all kms drivers
>> are disabled on Exynos board by returning -EPROBE_DEFER
>> only in case that there is kms device registered.
> 
> There are many different cases it can still fail:
> - there are no matching device nodes in DT,

With this patch, -ENODEV would be returned instead of -EPROBE_DEFER in
above case. So it should be no problem.

> - some devices are present in DT, some drivers are enabled,
> but they do not match,

Right.

> - even if there exists some pairs device_node-driver it can fail -
> exynos_drm_match_add requires higher level matches - every crtc should
> have matching encoder.

Also right.

> 
> I think even super-node will not solve all these issues.
> 

With the super device node, my intention is that we can remove
unnecessary exception codes like of_machine_is_compatible functions. So
the use of the super device node wouldn't be relevant to this issue.

> The real problem here is that during probe of exynos_drm ipp driver is
> successfully probed and after that exynos_drm probe fails, which causes
> also removing ipp, anyway successful ipp probe triggers whole re-probe
> mechanism again. It creates infinite loop.

The problem is not because of only IPP driver. In all cases that non kms
drivers are enabled and they are probed.

> 
> I think moving exynos_platform_device_ipp_register after
> component_master_add_with_match should solve some of the issue,

g2d also should be moved.

> but I guess it could create new ones, or maybe not, needs checking.
> 
> On the other side I wonder if we really need to have ipp device at all,
> replacing it with helpers of exynos_drm should be possible, I guess.
> 

Agree. I also think that we don't really need IPP driver. Instead, we
can register post processor drivers - fimc, rotator, and gscaler -
directly without IPP driver like g2d did.

Thanks,
Inki Dae

> Regards
> Andrzej
> 
>>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> ---
>>  drivers/gpu/drm/exynos/exynos_drm_drv.c |    6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
>> index ecc86aa..14c6af7 100644
>> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
>> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
>> @@ -488,6 +488,12 @@ static struct component_match *exynos_drm_match_add(struct device *dev)
>>  
>>  	mutex_lock(&drm_component_lock);
>>  
>> +	/* Do not retry to probe if there is no any kms driver regitered. */
>> +	if (list_empty(&drm_component_list)) {
>> +		mutex_unlock(&drm_component_lock);
>> +		return ERR_PTR(-ENODEV);
>> +	}
>> +
>>  	list_for_each_entry(cdev, &drm_component_list, list) {
>>  		/*
>>  		 * Add components to master only in case that crtc and
>>
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

      reply	other threads:[~2014-11-07 11:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-06 14:10 [PATCH] drm/exynos: resolve infinite loop issue on non multi-platform Inki Dae
2014-11-06 15:44 ` Emil Velikov
2014-11-06 15:46   ` Emil Velikov
2014-11-06 17:08 ` Sjoerd Simons
2014-11-07 11:11   ` Andrzej Hajda
2014-11-07 16:27     ` Greg Kroah-Hartman
2014-11-07  8:29 ` Andrzej Hajda
2014-11-07 11:27   ` Inki Dae [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=545CACB1.4000502@samsung.com \
    --to=inki.dae@samsung.com \
    --cc=a.hajda@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.