From: Richard Cochran <richardcochran@gmail.com>
To: Yangbo Lu <yangbo.lu@nxp.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
"David S . Miller" <davem@davemloft.net>,
Vladimir Oltean <vladimir.oltean@nxp.com>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
Subject: Re: [PATCH 6/6] ptp_ocelot: support 4 programmable pins
Date: Tue, 24 Mar 2020 06:07:33 -0700 [thread overview]
Message-ID: <20200324130733.GA18149@localhost> (raw)
In-Reply-To: <20200320103726.32559-7-yangbo.lu@nxp.com>
On Fri, Mar 20, 2020 at 06:37:26PM +0800, Yangbo Lu wrote:
> +static int ocelot_ptp_enable(struct ptp_clock_info *ptp,
> + struct ptp_clock_request *rq, int on)
> +{
> + struct ocelot *ocelot = container_of(ptp, struct ocelot, ptp_info);
> + enum ocelot_ptp_pins ptp_pin;
> + struct timespec64 ts;
> + unsigned long flags;
> + int pin = -1;
> + u32 val;
> + s64 ns;
> +
> + switch (rq->type) {
> + case PTP_CLK_REQ_PEROUT:
> + /* Reject requests with unsupported flags */
> + if (rq->perout.flags)
> + return -EOPNOTSUPP;
> +
> + /*
> + * TODO: support disabling function
> + * When ptp_disable_pinfunc() is to disable function,
> + * it has already held pincfg_mux.
> + * However ptp_find_pin() in .enable() called also needs
> + * to hold pincfg_mux.
> + * This causes dead lock. So, just return for function
> + * disabling, and this needs fix-up.
What dead lock?
When enable(PTP_CLK_REQ_PEROUT, on=0) is called, you don't need to
call ptp_disable_pinfunc(). Just stop the periodic waveform
generator. The assignment of function to pin remains unchanged.
> + */
> + if (!on)
> + break;
> +
> + pin = ptp_find_pin(ocelot->ptp_clock, PTP_PF_PEROUT,
> + rq->perout.index);
> + if (pin == 0)
> + ptp_pin = PTP_PIN_0;
> + else if (pin == 1)
> + ptp_pin = PTP_PIN_1;
> + else if (pin == 2)
> + ptp_pin = PTP_PIN_2;
> + else if (pin == 3)
> + ptp_pin = PTP_PIN_3;
> + else
> + return -EINVAL;
Return -EBUSY here instead.
Thanks,
Richard
next prev parent reply other threads:[~2020-03-24 13:07 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-20 10:37 [PATCH 0/6] Support programmable pins for Ocelot PTP driver Yangbo Lu
2020-03-20 10:37 ` [PATCH 1/6] ptp: move ocelot ptp clock code out of Ethernet driver Yangbo Lu
2020-03-20 16:37 ` Vladimir Oltean
2020-03-24 4:46 ` Y.b. Lu
2020-03-20 21:31 ` kbuild test robot
2020-03-20 21:31 ` kbuild test robot
2020-03-20 23:03 ` kbuild test robot
2020-03-20 23:03 ` kbuild test robot
2020-03-20 10:37 ` [PATCH 2/6] MAINTAINERS: add entry for Microsemi Ocelot PTP driver Yangbo Lu
2020-03-20 17:28 ` Alexandre Belloni
2020-03-24 4:50 ` Y.b. Lu
2020-03-20 10:37 ` [PATCH 3/6] net: mscc: ocelot: fix timestamp info if ptp clock does not work Yangbo Lu
2020-03-20 10:37 ` [PATCH 4/6] net: mscc: ocelot: redefine PTP pins Yangbo Lu
2020-03-20 10:37 ` [PATCH 5/6] net: mscc: ocelot: add wave programming registers definitions Yangbo Lu
2020-03-20 10:37 ` [PATCH 6/6] ptp_ocelot: support 4 programmable pins Yangbo Lu
2020-03-20 13:20 ` Vladimir Oltean
2020-03-24 5:21 ` Y.b. Lu
2020-03-24 13:19 ` Richard Cochran
2020-03-25 3:20 ` Y.b. Lu
2020-03-24 9:24 ` Horatiu Vultur
2020-03-24 13:07 ` Richard Cochran [this message]
2020-03-25 3:08 ` Y.b. Lu
2020-03-25 13:41 ` Richard Cochran
2020-03-26 9:34 ` Y.b. Lu
2020-03-26 13:59 ` Richard Cochran
2020-03-27 5:47 ` Y.b. Lu
2020-03-31 4:18 ` Y.b. Lu
2020-03-25 13:15 ` Richard Cochran
2020-03-26 9:25 ` Y.b. Lu
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=20200324130733.GA18149@localhost \
--to=richardcochran@gmail.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andrew@lunn.ch \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=vivien.didelot@gmail.com \
--cc=vladimir.oltean@nxp.com \
--cc=yangbo.lu@nxp.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.