[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <74e0d395-ca75-4ac0-8dcc-fdb55d3deeb3@VA3EHSMHS004.ehs.local>
Date: Mon, 7 Feb 2011 08:01:37 -0700
From: John Linn <John.Linn@...inx.com>
To: Jamie Iles <jamie@...ieiles.com>
CC: <linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <linux@....linux.org.uk>,
<catalin.marinas@....com>, <glikely@...retlab.ca>,
Kiran Sutariya <kiran.sutariya@...fochips.com>
Subject: RE: [PATCH 3/4] ARM: Xilinx: Adding timer support to the platform
> -----Original Message-----
> From: Jamie Iles [mailto:jamie@...ieiles.com]
> Sent: Monday, February 07, 2011 7:59 AM
> To: John Linn
> Cc: Jamie Iles; linux-arm-kernel@...ts.infradead.org;
linux-kernel@...r.kernel.org;
> linux@....linux.org.uk; catalin.marinas@....com; glikely@...retlab.ca;
Kiran Sutariya
> Subject: Re: [PATCH 3/4] ARM: Xilinx: Adding timer support to the
platform
>
> On Mon, Feb 07, 2011 at 07:16:01AM -0700, John Linn wrote:
> > > -----Original Message-----
> > > From: Jamie Iles [mailto:jamie@...ieiles.com]
> > > Sent: Saturday, February 05, 2011 6:04 PM
> > > To: John Linn
> > > Cc: linux-arm-kernel@...ts.infradead.org;
> > linux-kernel@...r.kernel.org; linux@....linux.org.uk;
> > > catalin.marinas@....com; glikely@...retlab.ca; Kiran Sutariya
> > > Subject: Re: [PATCH 3/4] ARM: Xilinx: Adding timer support to the
> > platform
> > >
> > > Hi John,
> > >
> > > A couple more nitpicks.
> > >
> > > Jamie
> > >
> > > On Sat, Feb 05, 2011 at 09:17:16AM -0700, John Linn wrote:
> > > > +static irqreturn_t xttcpss_clock_event_interrupt(int irq, void
> > *dev_id)
> > > > +{
> > > > + struct clock_event_device *evt = &xttcpss_clockevent;
> > > > + struct xttcpss_timer *timer = dev_id;
> > > > + u32 ctrl_reg;
> > > > +
> > > > + /* Acknowledge the interrupt and call event handler */
> > > > + xttcpss_write(timer->base_addr + XTTCPSS_ISR_OFFSET,
> > > > + xttcpss_read(timer->base_addr +
XTTCPSS_ISR_OFFSET));
> > > > +
> > > > + if (timer->mode == CLOCK_EVT_MODE_ONESHOT) {
> > > > +
> > > > + /* Disable the counter as it would keep running.
*/
> > > > + ctrl_reg = xttcpss_read(timer->base_addr +
> > > > +
XTTCPSS_CNT_CNTRL_OFFSET);
> > > > + ctrl_reg |= ~(XTTCPSS_CNT_CNTRL_ENABLE_MASK);
> > >
> > > The clock events framework should reprogram the next event so you
> > don't
> > > actually need to disable the timer here. Once the event handler
has
> > > been called the timer will be reenabled with a new period, and as
> > we're
> > > running with interrupts disabled here we don't need to stop the
timer.
> > >
> >
> > What about if there's not another event to be started?
>
> Then the clockevents code can set the mode to CLOCK_EVT_MODE_SHUTDOWN
> and this should disable the timer. For NOHZ, AFAICT the
> clockevents/tick code will make sure that the next tick always falls
> within your max_delta_ns.
>
> Jamie
Thanks, appreciate that help as I'm still learning more on the clock
mgmt.
Sounds good, I can stop it and test that.
-- John
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists