devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: Rob Herring <robh@kernel.org>, Joerg Roedel <joro@8bytes.org>,
	Robin Murphy <robin.murphy@arm.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	iommu@lists.linux-foundation.org, devicetree@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 06/19] dt-bindings: memory: tegra: Squash tegra20-gart into tegra20-mc
Date: Tue, 28 Aug 2018 16:09:05 +0300	[thread overview]
Message-ID: <80ab7d8c-8172-2521-2eda-a235bfcc2824@gmail.com> (raw)
In-Reply-To: <20180828104755.GC9386@ulmo>

On 28.08.2018 13:47, Thierry Reding wrote:
> On Mon, Aug 20, 2018 at 10:35:54PM +0300, Dmitry Osipenko wrote:
>> On 20.08.2018 22:27, Dmitry Osipenko wrote:
>>> On 20.08.2018 22:12, Rob Herring wrote:
>>>> On Sat, Aug 18, 2018 at 06:54:17PM +0300, Dmitry Osipenko wrote:
>>>>> Splitting GART and Memory Controller wasn't a good decision that was made
>>>>> back in the day. Given that the GART driver hasn't ever been used by
>>>>> anything in the kernel, we decided that it will be better to correct the
>>>>> mistakes of the past and merge two bindings into a single one. In a result
>>>>
>>>> As a result...
>>>>
>>>>> there is a DT ABI change for the Memory Controller that allows not to
>>>>> break newer kernels using older DT by introducing a new required property,
>>>>> the memory clock. Adding the new clock property also puts the tegra20-mc
>>>>> binding in line with the bindings of the later Tegra generations.
>>>>
>>>> I don't understand this part. It looks to me like you are breaking 
>>>> compatibility. The driver failing to probe with an old DT is okay?
>>>
>>> Yes, DT compatibility is broken. New driver won't probe/load with the old DT,
>>> that's what we want.
>>>
>>>> OS's like OpenSUSE use new DTs with older kernel versions, so you should 
>>>> consider how to not break them as well. I guess if all this is optional 
>>>> or has been unused, then there shouldn't be a problem.
>>>
>>> That's interesting.. Memory Controller isn't optional, I guess we could change
>>> compatible to "nvidia,tegra20-mc-gart".bled in kernels config by
>> default and driver is functional, but it's okay 
>>
>> * I meant it's not optional in a sense that it's enaif MC driver will stop to probe
>> with older kernels as it is used only for reporting memory errors.
> 
> Yeah, we don't really regress at runtime. The errors reported by the
> current driver are very rare, and even if you encounter them, they're
> pretty cryptic, so I think this is one of the exceptional cases where
> breaking the ABI "for the greater good" is acceptable.

It's now became apparent that factoring out EMC from MC isn't a good idea too
because MC need to interact with EMC and probably vice versa. Looks like we
should consider restructuring MC for all Tegra's.

  reply	other threads:[~2018-08-28 13:09 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-18 15:54 [PATCH v3 00/19] IOMMU: Tegra GART driver clean up and optimization Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 01/19] iommu/tegra: gart: Remove pr_fmt and clean up includes Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 03/19] iommu/tegra: gart: Ignore devices without IOMMU phandle in DT Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 05/19] iommu/tegra: gart: Optimize mapping / unmapping performance Dmitry Osipenko
     [not found] ` <20180818155430.5586-1-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-08-18 15:54   ` [PATCH v3 02/19] iommu/tegra: gart: Clean up driver probe errors handling Dmitry Osipenko
2018-08-18 15:54   ` [PATCH v3 04/19] iommu: Introduce iotlb_sync_map callback Dmitry Osipenko
2018-08-18 15:54   ` [PATCH v3 06/19] dt-bindings: memory: tegra: Squash tegra20-gart into tegra20-mc Dmitry Osipenko
2018-08-20 19:12     ` Rob Herring
2018-08-20 19:27       ` Dmitry Osipenko
     [not found]         ` <b46cac22-9b31-9aa7-7eca-4725156346bb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-08-20 19:35           ` Dmitry Osipenko
     [not found]             ` <4538309b-fcb3-73ee-04e3-6cefcedd376d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-08-28 10:47               ` Thierry Reding
2018-08-28 13:09                 ` Dmitry Osipenko [this message]
2018-08-18 15:54   ` [PATCH v3 07/19] ARM: dts: tegra20: Update Memory Controller node to the new binding Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 08/19] memory: tegra: Don't invoke Tegra30+ specific memory timing setup on Tegra20 Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 09/19] memory: tegra: Adapt to Tegra20 device-tree binding changes Dmitry Osipenko
2018-09-03 21:06   ` Marcel Ziswiler
2018-09-04  8:56     ` Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 10/19] memory: tegra: Read client ID on GART page fault Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 11/19] iommu/tegra: gart: Integrate with Memory Controller driver Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 12/19] iommu/tegra: gart: Fix spinlock recursion Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 13/19] iommu/tegra: gart: Fix NULL pointer dereference Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 14/19] iommu/tegra: gart: Allow only one active domain at a time Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 15/19] iommu/tegra: gart: Don't use managed resources Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 16/19] iommu/tegra: gart: Prepend error/debug messages with "GART:" Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 17/19] iommu/tegra: gart: Don't detach devices from inactive domains Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 18/19] iommu/tegra: gart: Simplify clients-tracking code Dmitry Osipenko
2018-08-18 15:54 ` [PATCH v3 19/19] iommu/tegra: gart: Perform code refactoring Dmitry Osipenko

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=80ab7d8c-8172-2521-2eda-a235bfcc2824@gmail.com \
    --to=digetx@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jonathanh@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=thierry.reding@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).