All of lore.kernel.org
 help / color / mirror / Atom feed
From: Troy Kisky <troy.kisky-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
To: Sriramakrishnan <srk-l0cyMroinI0@public.gmane.org>
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org
Subject: Re: [PATCH 2/3] TI Davinci EMAC : add platform specific interrupt enable/disable logic.
Date: Wed, 18 Nov 2009 12:08:24 -0700	[thread overview]
Message-ID: <4B044628.9030701@boundarydevices.com> (raw)
In-Reply-To: <1258537328-31527-3-git-send-email-srk-l0cyMroinI0@public.gmane.org>

Sriramakrishnan wrote:
> On certain SOCs, the EMAC controller is interfaced with a wrapper logic
> for handling interrupts. This  patch implements a platform
> specific hook to cater to platforms that require custom interrupt
> handling logic
> 
> Signed-off-by: Sriramakrishnan <srk-l0cyMroinI0@public.gmane.org>
> Acked-by: Chaithrika U S <chaithrika-l0cyMroinI0@public.gmane.org>
> ---
>  drivers/net/davinci_emac.c   |   11 +++++++++++
>  include/linux/davinci_emac.h |    2 ++
>  2 files changed, 13 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
> index 6aec8f5..81931f8 100644
> --- a/drivers/net/davinci_emac.c
> +++ b/drivers/net/davinci_emac.c
> @@ -487,6 +487,9 @@ struct emac_priv {
>  	struct mii_bus *mii_bus;
>  	struct phy_device *phydev;
>  	spinlock_t lock;
> +	/*platform specific members*/
> +	void (*wrapper_int_enable) (void);
> +	void (*wrapper_int_disable) (void);

Would platform_int_enable be more appropriate then wrapper_int_enable ?

>  };
>  
>  /* clock frequency for EMAC */
> @@ -1001,6 +1004,8 @@ static void emac_int_disable(struct emac_priv *priv)
>  		emac_ctrl_write(EMAC_DM646X_CMRXINTEN, 0x0);
>  		emac_ctrl_write(EMAC_DM646X_CMTXINTEN, 0x0);
>  		/* NOTE: Rx Threshold and Misc interrupts are not disabled */
> +		if (priv->wrapper_int_disable)
> +			priv->wrapper_int_disable();
>  
>  		local_irq_restore(flags);
>  
> @@ -1020,6 +1025,9 @@ static void emac_int_disable(struct emac_priv *priv)
>  static void emac_int_enable(struct emac_priv *priv)
>  {
>  	if (priv->version == EMAC_VERSION_2) {
> +		if (priv->wrapper_int_enable)
> +			priv->wrapper_int_enable();
> +
>  		emac_ctrl_write(EMAC_DM646X_CMRXINTEN, 0xff);
>  		emac_ctrl_write(EMAC_DM646X_CMTXINTEN, 0xff);
>  
> @@ -2662,6 +2670,9 @@ static int __devinit davinci_emac_probe(struct platform_device *pdev)
>  	priv->phy_mask = pdata->phy_mask;
>  	priv->rmii_en = pdata->rmii_en;
>  	priv->version = pdata->version;
> +	priv->wrapper_int_enable = pdata->wrapper_interrupt_enable;
> +	priv->wrapper_int_disable = pdata->wrapper_interrupt_disable;
> +
>  	emac_dev = &ndev->dev;
>  	/* Get EMAC platform data */
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> diff --git a/include/linux/davinci_emac.h b/include/linux/davinci_emac.h
> index ff55487..eb24dc0 100644
> --- a/include/linux/davinci_emac.h
> +++ b/include/linux/davinci_emac.h
> @@ -25,6 +25,8 @@ struct emac_platform_data {
>  	u32 mdio_max_freq;
>  	u8 rmii_en;
>  	u8 version;
> +	void (*wrapper_interrupt_enable) (void);
> +	void (*wrapper_interrupt_disable) (void);
>  };
>  
>  enum {

  parent reply	other threads:[~2009-11-18 19:08 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-18  9:42 [PATCH 0/3] TI EMAC driver : Make driver re-usable on non-davinci platforms Sriramakrishnan
2009-11-18  9:42 ` [PATCH 1/3] TI Davinci EMAC : Re-use driver for other platforms Sriramakrishnan
2009-11-18  9:42   ` [PATCH 2/3] TI Davinci EMAC : add platform specific interrupt enable/disable logic Sriramakrishnan
2009-11-18  9:42     ` [PATCH 3/3] TI Davinci EMAC : Abstract Buffer address translation logic Sriramakrishnan
2009-11-18 19:15       ` Troy Kisky
     [not found]     ` <1258537328-31527-3-git-send-email-srk-l0cyMroinI0@public.gmane.org>
2009-11-18 19:08       ` Troy Kisky [this message]
2009-11-18 22:29         ` [PATCH 2/3] TI Davinci EMAC : add platform specific interrupt enable/disable logic Kevin Hilman
2009-11-18 13:12 ` [PATCH 0/3] TI EMAC driver : Make driver re-usable on non-davinci platforms David Miller
2009-11-18 17:53 ` Kevin Hilman

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=4B044628.9030701@boundarydevices.com \
    --to=troy.kisky-q5rjgjkts06cy9shamctrueocmrvltnr@public.gmane.org \
    --cc=davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=srk-l0cyMroinI0@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 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.