All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Clark <robdclark@gmail.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Valentin Rothberg <valentinrothberg@gmail.com>,
	Hai Li <hali@codeaurora.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	David Airlie <airlied@linux.ie>, Paul Bolle <pebolle@tiscali.nl>,
	rupran@einserver.de, stefan.hengelein@fau.de
Subject: Re: drm/msm/mdp5: undefined CONFIG_MSM_BUS_SCALING
Date: Thu, 9 Apr 2015 14:02:28 -0400	[thread overview]
Message-ID: <CAF6AEGu-ed3Jee4mMEo-ozqiPMAuEHUg_STvktdAFdihtJhvOQ@mail.gmail.com> (raw)
In-Reply-To: <20150409170707.GA7742@kroah.com>

On Thu, Apr 9, 2015 at 1:07 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Thu, Apr 09, 2015 at 10:50:58AM -0400, Rob Clark wrote:
>> On Thu, Apr 9, 2015 at 10:20 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
>> > On Thu, Apr 09, 2015 at 09:49:58AM -0400, Rob Clark wrote:
>> >> On Thu, Apr 9, 2015 at 7:22 AM, Valentin Rothberg
>> >> <valentinrothberg@gmail.com> wrote:
>> >> > Hi Hai,
>> >> >
>> >> > your commit d5af49c92a8a ("drm/msm/mdp5: Enable DSI connector in msm drm
>> >> > driver") in today's Linux next tree adds an #ifdef with CONFIG_MSM_BUS_SCALING
>> >> > as condition.  MSM_BUS_SCALING is not defined in Kconfig, so the code in this
>> >> > #ifdef block won't be compiled at its current state.
>> >> >
>> >> > I saw some references on this Kconfig option in other files; is there a
>> >> > reason for the absence of MSM_BUS_SCALING?
>> >>
>> >> right now, it is something that only exists in downstream kernels (for
>> >> example, android device kernels).. but in those kernels it is
>> >> mandatory to use, as by default the memory/bus is downclocked and the
>> >> display would underflow if we did not request sufficient bandwidth.
>> >>
>> >> It only exists right now in the upstream kernel to simplify
>> >> backporting to various device kernels
>> >
>> > That's crazy.  You are asking upstream to maintain code in order to just
>> > make out of tree crap easier to maintain, which you don't have any plan
>> > to ever upstream?  That causes havoc on static analysis tools and
>> > prevents anyone from ever being able to even change the code for new api
>> > changes and test build it.
>>
>> Hey, don't blame me for the downstream kernels.  But at various points
>> in time I've had to backport drm/msm to various device kernels in
>> order to work on the userspace/mesa end of things.  (And, well, there
>> are other crazy folks out there who want to get open source graphics
>> drivers working on various phones/tablets.)  It was a choice to make
>> my life easier.  You know, because reverse engineering a gpu is a walk
>> in the park..
>
> I really don't understand.  Why is this code in the kernel tree if it
> can't be built?  How does anyone use this?  By taking it and copying it
> where?  If it can't be built, and no one can update it, and of course
> not run it, why is it here?  What good is this code doing sitting here?
>

For devices where I cannot run an upstream kernel yet, I backport
latest upstream drm (mostly 'cp -r' with as little changes as
possible, cherrypicking other dependencies outside of drm) to the
device kernel.  Basically that lets me develop against upstream drm in
parallel with the kernel-msm folks (hopefully) getting their pieces
upstream.

If I had to wait for all the clocks/regulators/gpio/etc drivers that I
depend on to land upstream, I'd pretty much only be able to start when
a given SoC was already a bit old (and add to that 6-12mos or so to
get mesa into mesa into good shape on a new gpu generation, by the
time the end user gets something usable the device would already be
obsolete)

Ideally we get to the point where I don't need to do this.. downstream
vendor kernels are generally a PITA.. but for the time being, it seems
like the most practical way for me to do things.

BR,
-R


> confused,
>
> greg k-h

WARNING: multiple messages have this Message-ID (diff)
From: Rob Clark <robdclark@gmail.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Paul Bolle <pebolle@tiscali.nl>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	rupran@einserver.de, stefan.hengelein@fau.de,
	Valentin Rothberg <valentinrothberg@gmail.com>
Subject: Re: drm/msm/mdp5: undefined CONFIG_MSM_BUS_SCALING
Date: Thu, 9 Apr 2015 14:02:28 -0400	[thread overview]
Message-ID: <CAF6AEGu-ed3Jee4mMEo-ozqiPMAuEHUg_STvktdAFdihtJhvOQ@mail.gmail.com> (raw)
In-Reply-To: <20150409170707.GA7742@kroah.com>

On Thu, Apr 9, 2015 at 1:07 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Thu, Apr 09, 2015 at 10:50:58AM -0400, Rob Clark wrote:
>> On Thu, Apr 9, 2015 at 10:20 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
>> > On Thu, Apr 09, 2015 at 09:49:58AM -0400, Rob Clark wrote:
>> >> On Thu, Apr 9, 2015 at 7:22 AM, Valentin Rothberg
>> >> <valentinrothberg@gmail.com> wrote:
>> >> > Hi Hai,
>> >> >
>> >> > your commit d5af49c92a8a ("drm/msm/mdp5: Enable DSI connector in msm drm
>> >> > driver") in today's Linux next tree adds an #ifdef with CONFIG_MSM_BUS_SCALING
>> >> > as condition.  MSM_BUS_SCALING is not defined in Kconfig, so the code in this
>> >> > #ifdef block won't be compiled at its current state.
>> >> >
>> >> > I saw some references on this Kconfig option in other files; is there a
>> >> > reason for the absence of MSM_BUS_SCALING?
>> >>
>> >> right now, it is something that only exists in downstream kernels (for
>> >> example, android device kernels).. but in those kernels it is
>> >> mandatory to use, as by default the memory/bus is downclocked and the
>> >> display would underflow if we did not request sufficient bandwidth.
>> >>
>> >> It only exists right now in the upstream kernel to simplify
>> >> backporting to various device kernels
>> >
>> > That's crazy.  You are asking upstream to maintain code in order to just
>> > make out of tree crap easier to maintain, which you don't have any plan
>> > to ever upstream?  That causes havoc on static analysis tools and
>> > prevents anyone from ever being able to even change the code for new api
>> > changes and test build it.
>>
>> Hey, don't blame me for the downstream kernels.  But at various points
>> in time I've had to backport drm/msm to various device kernels in
>> order to work on the userspace/mesa end of things.  (And, well, there
>> are other crazy folks out there who want to get open source graphics
>> drivers working on various phones/tablets.)  It was a choice to make
>> my life easier.  You know, because reverse engineering a gpu is a walk
>> in the park..
>
> I really don't understand.  Why is this code in the kernel tree if it
> can't be built?  How does anyone use this?  By taking it and copying it
> where?  If it can't be built, and no one can update it, and of course
> not run it, why is it here?  What good is this code doing sitting here?
>

For devices where I cannot run an upstream kernel yet, I backport
latest upstream drm (mostly 'cp -r' with as little changes as
possible, cherrypicking other dependencies outside of drm) to the
device kernel.  Basically that lets me develop against upstream drm in
parallel with the kernel-msm folks (hopefully) getting their pieces
upstream.

If I had to wait for all the clocks/regulators/gpio/etc drivers that I
depend on to land upstream, I'd pretty much only be able to start when
a given SoC was already a bit old (and add to that 6-12mos or so to
get mesa into mesa into good shape on a new gpu generation, by the
time the end user gets something usable the device would already be
obsolete)

Ideally we get to the point where I don't need to do this.. downstream
vendor kernels are generally a PITA.. but for the time being, it seems
like the most practical way for me to do things.

BR,
-R


> confused,
>
> greg k-h
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2015-04-09 18:02 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-09 11:22 drm/msm/mdp5: undefined CONFIG_MSM_BUS_SCALING Valentin Rothberg
2015-04-09 13:49 ` Rob Clark
2015-04-09 13:49   ` Rob Clark
2015-04-09 14:20   ` Greg KH
2015-04-09 14:50     ` Rob Clark
2015-04-09 14:50       ` Rob Clark
2015-04-09 17:07       ` Greg KH
2015-04-09 18:02         ` Rob Clark [this message]
2015-04-09 18:02           ` Rob Clark
2015-04-09 18:12         ` Paul Bolle
2015-04-09 18:54           ` Rob Clark
2015-04-09 18:54             ` Rob Clark
2015-04-09 19:38             ` Paul Bolle
2015-04-09 19:38               ` Paul Bolle
2015-04-09 19:44             ` Valentin Rothberg
2015-04-09 20:20               ` Rob Clark
2015-04-09 20:20                 ` Rob Clark
2015-04-10  6:04                 ` Valentin Rothberg

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=CAF6AEGu-ed3Jee4mMEo-ozqiPMAuEHUg_STvktdAFdihtJhvOQ@mail.gmail.com \
    --to=robdclark@gmail.com \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hali@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pebolle@tiscali.nl \
    --cc=rupran@einserver.de \
    --cc=stefan.hengelein@fau.de \
    --cc=valentinrothberg@gmail.com \
    /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.