linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Okaya-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org
To: Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Sinan Kaya <okaya-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	marc.zyngier-5wv7dgnIgG8@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	timur-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	cov-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	shankerd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	vikrams-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	eric.auger-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	agross-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH V14 5/9] dma: qcom_hidma: implement lower level hardware interface
Date: Fri, 11 Mar 2016 03:08:29 -0000	[thread overview]
Message-ID: <ed5ddb6d334bdc5b4ac1ec8315eb9aea.squirrel@us.codeaurora.org> (raw)
In-Reply-To: <20160311020650.GG11154@localhost>

> On Thu, Feb 04, 2016 at 11:34:36PM -0500, Sinan Kaya wrote:
>
>> +
>> +#define EVRE_SIZE			16	/* each EVRE is 16 bytes */
>> +
>> +#define TRCA_CTRLSTS_OFFSET		0x000
>> +#define TRCA_RING_LOW_OFFSET		0x008
>> +#define TRCA_RING_HIGH_OFFSET		0x00C
>> +#define TRCA_RING_LEN_OFFSET		0x010
>> +#define TRCA_READ_PTR_OFFSET		0x018
>> +#define TRCA_WRITE_PTR_OFFSET		0x020
>> +#define TRCA_DOORBELL_OFFSET		0x400
>> +
>> +#define EVCA_CTRLSTS_OFFSET		0x000
>> +#define EVCA_INTCTRL_OFFSET		0x004
>> +#define EVCA_RING_LOW_OFFSET		0x008
>> +#define EVCA_RING_HIGH_OFFSET		0x00C
>> +#define EVCA_RING_LEN_OFFSET		0x010
>> +#define EVCA_READ_PTR_OFFSET		0x018
>> +#define EVCA_WRITE_PTR_OFFSET		0x020
>> +#define EVCA_DOORBELL_OFFSET		0x400
>> +
>> +#define EVCA_IRQ_STAT_OFFSET		0x100
>> +#define EVCA_IRQ_CLR_OFFSET		0x108
>> +#define EVCA_IRQ_EN_OFFSET		0x110
>> +
>> +#define EVRE_CFG_IDX			0
>> +#define EVRE_LEN_IDX			1
>> +#define EVRE_DEST_LOW_IDX		2
>> +#define EVRE_DEST_HI_IDX		3
>> +
>> +#define EVRE_ERRINFO_BIT_POS		24
>> +#define EVRE_CODE_BIT_POS		28
>> +
>> +#define EVRE_ERRINFO_MASK		GENMASK(3, 0)
>> +#define EVRE_CODE_MASK			GENMASK(3, 0)
>
> These are rest here are not namespace properly...
>
>> +static int hidma_ll_enable(struct hidma_lldev *lldev)
>> +{
>> +	u32 val;
>> +	int ret;
>> +
>> +	val = readl(lldev->evca + EVCA_CTRLSTS_OFFSET);
>> +	val &= ~(CH_CONTROL_MASK << 16);
>> +	val |= CH_ENABLE << 16;
>> +	writel(val, lldev->evca + EVCA_CTRLSTS_OFFSET);
>> +
>> +	ret = readl_poll_timeout(lldev->evca + EVCA_CTRLSTS_OFFSET, val,
>> +				 (HIDMA_CH_STATE(val) == CH_ENABLED) ||
>> +				 (HIDMA_CH_STATE(val) == CH_RUNNING), 1000,
>> +				 10000);
>> +	if (ret) {
>> +		dev_err(lldev->dev, "event channel did not get enabled\n");
>> +		return ret;
>> +	}
>> +
>> +	val = readl(lldev->trca + TRCA_CTRLSTS_OFFSET);
>> +	val &= ~(CH_CONTROL_MASK << 16);
>> +	val |= CH_ENABLE << 16;
>> +	writel(val, lldev->trca + TRCA_CTRLSTS_OFFSET);
>> +
>> +	ret = readl_poll_timeout(lldev->trca + TRCA_CTRLSTS_OFFSET, val,
>> +				 (HIDMA_CH_STATE(val) == CH_ENABLED) ||
>> +				 (HIDMA_CH_STATE(val) == CH_RUNNING), 1000,
>> +				 10000);
>
> first arg for readl_poll_timeout is accessor fn to do read, which doesnt
> seem to be here... so what did i miss?
>

First argument is the address to read.

#define readl_poll_timeout(addr, val, cond, delay_us, timeout_us) \
         readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)


>
>> +void hidma_ll_queue_request(struct hidma_lldev *lldev, u32 tre_ch)
>> +{
>> +	struct hidma_tre *tre;
>> +	unsigned long flags;
>> +
>> +	tre = &lldev->trepool[tre_ch];
>> +
>> +	/* copy the TRE into its location in the TRE ring */
>> +	spin_lock_irqsave(&lldev->lock, flags);
>> +	tre->tre_index = lldev->tre_write_offset / TRE_SIZE;
>> +	lldev->pending_tre_list[tre->tre_index] = tre;
>> +	memcpy(lldev->tre_ring + lldev->tre_write_offset, &tre->tre_local[0],
>> +	       TRE_SIZE);
>> +	lldev->tx_status_list[tre->idx].err_code = 0;
>> +	lldev->tx_status_list[tre->idx].err_info = 0;
>> +	tre->queued = 1;
>> +	lldev->pending_tre_count++;
>> +	lldev->tre_write_offset = (lldev->tre_write_offset + TRE_SIZE)
>> +	    % lldev->tre_ring_size;
>
> These and above one should be right justfied per coding style
>
> --
> ~Vinod
>


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2016-03-11  3:08 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-05  4:34 [PATCH V14 0/9] dma: add Qualcomm Technologies HIDMA driver Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 1/9] dma: qcom_bam_dma: move to qcom directory Sinan Kaya
2016-03-11  2:13   ` Vinod Koul
2016-02-05  4:34 ` [PATCH V14 2/9] dma: hidma: Add Device Tree binding Sinan Kaya
2016-03-11  2:16   ` Vinod Koul
2016-02-05  4:34 ` [PATCH V14 3/9] dma: add Qualcomm Technologies HIDMA management driver Sinan Kaya
2016-03-11  2:16   ` Vinod Koul
2016-02-05  4:34 ` [PATCH V14 4/9] dma: add Qualcomm Technologies HIDMA channel driver Sinan Kaya
     [not found]   ` <1454646882-24369-5-git-send-email-okaya-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-03-11  2:17     ` Vinod Koul
2016-02-05  4:34 ` [PATCH V14 5/9] dma: qcom_hidma: implement lower level hardware interface Sinan Kaya
2016-03-11  2:06   ` Vinod Koul
2016-03-11  3:08     ` Okaya-sgV2jX0FEOL9JmXXK+q4OQ [this message]
2016-03-11 16:02     ` Sinan Kaya
     [not found]       ` <56E2EC1C.6040107-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-03-11 16:32         ` Vinod Koul
2016-03-11 16:44           ` Sinan Kaya
2016-03-11 19:29             ` Sinan Kaya
2016-03-11 21:59               ` Sinan Kaya
2016-03-13 16:00                 ` Vinod Koul
2016-03-14 13:53                   ` Sinan Kaya
2016-03-13 15:59               ` Vinod Koul
2016-03-14 13:56                 ` Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 6/9] dma: qcom_hidma: add debugfs hooks Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 7/9] dma: qcom_hidma: add support for object hierarchy Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 8/9] vfio, platform: add support for ACPI while detecting the reset driver Sinan Kaya
     [not found]   ` <1454646882-24369-9-git-send-email-okaya-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-02-26 16:24     ` Sinan Kaya
2016-02-26 17:15     ` Eric Auger
2016-02-26 19:21       ` Sinan Kaya
2016-03-02 18:34       ` Sinan Kaya
2016-03-03 23:14         ` Eric Auger
2016-03-04  5:20           ` Sinan Kaya
2016-03-07  4:09             ` Eric Auger
     [not found]               ` <56DCFEE0.6080101-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-03-07 15:30                 ` Sinan Kaya
2016-03-08  4:46                   ` Eric Auger
2016-03-08  5:07                     ` Sinan Kaya
2016-03-08 15:44                       ` Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 9/9] vfio, platform: add QTI HIDMA " Sinan Kaya
2016-02-26 17:52   ` Eric Auger
2016-02-26 19:05     ` Sinan Kaya
2016-02-08 10:14 ` [PATCH V14 0/9] dma: add Qualcomm Technologies HIDMA driver Christoffer Dall
2016-02-08 14:24   ` Sinan Kaya
2016-02-08 17:00     ` Christoffer Dall
2016-02-26 16:21 ` Sinan Kaya
2016-02-26 16:52   ` Timur Tabi
2016-03-02 18:40     ` Sinan Kaya
     [not found]       ` <56D733BA.6030203-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-03-03  3:44         ` Vinod Koul
2016-03-03 15:22           ` Sinan Kaya

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=ed5ddb6d334bdc5b4ac1ec8315eb9aea.squirrel@us.codeaurora.org \
    --to=okaya-sgv2jx0feol9jmxxk+q4oq@public.gmane.org \
    --cc=agross-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=cov-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=eric.auger-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=marc.zyngier-5wv7dgnIgG8@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=shankerd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=timur-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=vikrams-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.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 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).