From: Sinan Kaya <okaya@codeaurora.org>
To: Mark Rutland <mark.rutland@arm.com>
Cc: dmaengine@vger.kernel.org, timur@codeaurora.org,
cov@codeaurora.org, jcm@redhat.com,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Vinod Koul <vinod.koul@intel.com>,
Dan Williams <dan.j.williams@intel.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] dma: add Qualcomm Technologies HIDMA management driver
Date: Sat, 31 Oct 2015 13:11:39 -0400 [thread overview]
Message-ID: <5634F64B.5000000@codeaurora.org> (raw)
In-Reply-To: <20151030150025.GF31073@leverpostej>
On 10/30/2015 11:00 AM, Mark Rutland wrote:
> On Thu, Oct 29, 2015 at 11:08:12PM -0400, Sinan Kaya wrote:
>> The Qualcomm Technologies HIDMA device has been designed
>> to support virtualization technology. The driver has been
>> divided into two to follow the hardware design. The management
>> driver is executed in hypervisor context and is the main
>> managment for all channels provided by the device. The
>> channel driver is exected in the guest OS context.
>>
>> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
>> ---
>> .../devicetree/bindings/dma/qcom_hidma_mgmt.txt | 42 +
>> drivers/dma/Kconfig | 11 +
>> drivers/dma/Makefile | 1 +
>> drivers/dma/qcom_hidma_mgmt.c | 868 +++++++++++++++++++++
>> 4 files changed, 922 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt
>> create mode 100644 drivers/dma/qcom_hidma_mgmt.c
>>
>> diff --git a/Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt b/Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt
>> new file mode 100644
>> index 0000000..81674ab
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt
>> @@ -0,0 +1,42 @@
>> +Qualcomm Technologies HIDMA Management interface
>> +
>> +Required properties:
>> +- compatible: must contain "qcom,hidma_mgmt"
>
> s/_/-/ in property names and compatible strings.
>
done
> Per your rationale for splitting the device nodes, surely the
> relationship between the two needs to be described?
>
I changed the commit message to make it more clear. I also added
the same message to the device binding document for reference.
> The GIC has a similar split, yet we use a single node, with the
> hypervisor portions being optional.
>
> What if there were multiple instances?
>
The driver already supports multiple instances. It has been tested
against 4 instances. I ended up having 4 management device entities
managing 6 different channels each.
>> +- reg: Address range for DMA device
>> +- interrupts: Should contain the one interrupt shared by all channels
>> +- nr-channels: Number of channels supported by this DMA controller.
>> +- max-write: Maximum write burst in bytes. A memcpy requested is
>> + fragmented to multiples of this amount.
>> +- max-read: Maximum read burst in bytes. A memcpy request is
>> + fragmented to multiples of this amount.
>
> Thse would be better named as max-read-burst-bytes and
> min-read-burst-bytes.
ok
>
>> +- max-wxactions: Maximum write transactions to perform in a burst
>> +- max-rdactions: Maximum read transactions to perform in a burst
>
> max-{write,read}-transactions
ok
>
>> +- max-memset-limit: Maximum memset limit
>
> I have no idea what this is meant to mean.
>
old stuff. no memset support anymore. will remove it.
>> +- ch-priority-#n: Priority of the channel
>> +- ch-weight-#n: Round robin weight of the channel
>
> These need better descriptions. They sound like configuration options.
>
ok.
> [...]
>
>> +#if IS_ENABLED(CONFIG_ACPI)
>> +static const struct acpi_device_id qcom_hidma_mgmt_acpi_ids[] = {
>> + {"QCOM8060"},
>> + {},
>> +};
>> +#endif
>
> How do DMA engines work with ACPI?
>
> How are client relationships defined?
>
> THanks,
> Mark.
>
--
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
Linux Foundation Collaborative Project
prev parent reply other threads:[~2015-10-31 17:12 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-30 3:08 [PATCH 1/2] dma: add Qualcomm Technologies HIDMA management driver Sinan Kaya
2015-10-30 3:08 ` [PATCH 2/2] dma: add Qualcomm Technologies HIDMA channel driver Sinan Kaya
2015-10-30 8:01 ` kbuild test robot
2015-10-30 8:07 ` kbuild test robot
2015-10-30 10:24 ` Arnd Bergmann
2015-10-30 21:42 ` Sinan Kaya
2015-10-30 21:55 ` Timur Tabi
2015-10-30 22:47 ` Arnd Bergmann
2015-10-30 22:28 ` Arnd Bergmann
2015-10-30 22:36 ` Timur Tabi
2015-10-30 22:50 ` Arnd Bergmann
2015-10-31 1:53 ` Sinan Kaya
2015-11-01 18:50 ` Sinan Kaya
2015-11-01 20:21 ` Timur Tabi
2015-11-01 20:27 ` Sinan Kaya
2015-11-02 16:33 ` Arnd Bergmann
2015-11-02 19:21 ` Sinan Kaya
2015-11-02 20:55 ` Arnd Bergmann
2015-11-03 5:29 ` Sinan Kaya
2015-11-03 10:43 ` Arnd Bergmann
2015-11-03 21:07 ` Sinan Kaya
2015-11-03 21:10 ` Arnd Bergmann
2015-10-30 14:50 ` Mark Rutland
2015-10-31 4:27 ` Sinan Kaya
2015-10-30 4:34 ` [PATCH 1/2] dma: add Qualcomm Technologies HIDMA management driver kbuild test robot
2015-10-30 4:34 ` [PATCH] dma: fix platform_no_drv_owner.cocci warnings kbuild test robot
2015-10-30 9:34 ` [PATCH 1/2] dma: add Qualcomm Technologies HIDMA management driver Arnd Bergmann
2015-10-31 6:51 ` Sinan Kaya
2015-10-31 12:53 ` Timur Tabi
2015-10-31 12:53 ` Timur Tabi
2015-11-02 21:30 ` Arnd Bergmann
2015-11-03 4:45 ` Sinan Kaya
2015-11-03 12:42 ` Arnd Bergmann
2015-11-03 14:26 ` Timur Tabi
2015-11-04 1:04 ` Sinan Kaya
2015-10-30 15:00 ` Mark Rutland
2015-10-30 17:59 ` Andy Shevchenko
2015-10-30 18:08 ` Sinan Kaya
2015-10-30 18:18 ` Mark Rutland
2015-10-30 18:18 ` Andy Shevchenko
2015-10-30 18:25 ` Mark Rutland
2015-10-30 18:40 ` Andy Shevchenko
2015-10-30 18:48 ` Sinan Kaya
2015-10-30 19:01 ` Mark Rutland
2015-10-30 20:08 ` Al Stone
2015-10-30 20:15 ` Andy Shevchenko
2015-10-30 20:18 ` Mark Rutland
2015-10-31 3:33 ` Jon Masters
2015-10-31 17:34 ` Sinan Kaya
2015-10-30 19:36 ` Sinan Kaya
2015-10-31 17:11 ` Sinan Kaya [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=5634F64B.5000000@codeaurora.org \
--to=okaya@codeaurora.org \
--cc=cov@codeaurora.org \
--cc=dan.j.williams@intel.com \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=jcm@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=timur@codeaurora.org \
--cc=vinod.koul@intel.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).