All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: "shekhar, chandra" <x0044955@ti.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH 2/2]  McBSP preamble patch for 34xx support,
Date: Fri, 8 Aug 2008 09:59:25 +0300	[thread overview]
Message-ID: <20080808065924.GF24923@atomide.com> (raw)
In-Reply-To: <00f001c8f923$53df16c0$LocalHost@wipultra806>

* shekhar, chandra <x0044955@ti.com> [080808 09:52]:
>
>
>>> ===================================================================
>>> --- linux-omap-2.6.orig/arch/arm/plat-omap/mcbsp.c 2008-08-07
>>> 16:39:51.000000000 +0530
>>> +++ linux-omap-2.6/arch/arm/plat-omap/mcbsp.c 2008-08-07  
>>> 16:45:00.000000000 +0530
>>> @@ -29,9 +29,31 @@
>>>
>>>  struct omap_mcbsp **mcbsp_ptr;
>>>  int omap_mcbsp_count;
>>> +int mcbsp_32_bit_ops;
>>> +
>>> +void omap_mcbsp_write(u32 io_base, u16 reg, u32 val)
>>> +{
>>> + if (!mcbsp_32_bit_ops)
>>> + __raw_writew((u16)val, io_base + reg);
>>> + else
>>> + __raw_writel(val, io_base + reg);
>>> +}
>>> +
>>> +int omap_mcbsp_read(u32 io_base, u16 reg)
>>> +{
>>> + if (!mcbsp_32_bit_ops)
>>> + return __raw_readw(io_base + reg);
>>> + else
>>> + return __raw_readl(io_base + reg);
>>> +}
>>> +
>>
>> The 16 vs 32-bit test above would be better done with cpu_is_omap2420()
>> than setting mcbsp_32_bit_ops. If 2420 is not selected, the test gets
>> optimized out as cpu_is_omap2420() is defined as 0.
>>
>> Regards,
>>
>> Tony
>
> If i put a cpu check here then i will have to put either 
> (cpu_class_is_omap1 || cpu_is_omap2420) check , or
> !( cpu_is_omap2430) & !(cpu_is_omap34xx)  - for 16 bit ops.
>
> i am not sure which one will be more optimized as in the second case we 
> will have
> a logical operator as well as cpu check. while in the first case we have  
> just a varable check.
>
> Let me know if i am missing something.

if (cpu_class_is_omap1() || cpu_is_omap2420())

is same as

if (0 || 0)

when none of the omap1 boards or 2420 are not selected. So that
should work.

Tony


>
>
>>
>>
>>> +#define OMAP_MCBSP_READ(base, reg) \
>>> + omap_mcbsp_read(base, OMAP_MCBSP_REG_##reg)
>>> +#define OMAP_MCBSP_WRITE(base, reg, val) \
>>> + omap_mcbsp_write(base, OMAP_MCBSP_REG_##reg, val)
>>>
>>>  #define omap_mcbsp_check_valid_id(id) (id < omap_mcbsp_count)
>>> -#define id_to_mcbsp_ptr(id) mcbsp_ptr[id];
>>> +#define id_to_mcbsp_ptr(id) mcbsp_ptr[id];
>>>
>>>  static void omap_mcbsp_dump_reg(u8 id)
>>>  {
>>> Index: linux-omap-2.6/include/asm-arm/arch-omap/mcbsp.h
>>> ===================================================================
>>> --- linux-omap-2.6.orig/include/asm-arm/arch-omap/mcbsp.h 2008-08-07
>>> 16:41:17.000000000 +0530
>>> +++ linux-omap-2.6/include/asm-arm/arch-omap/mcbsp.h 2008-08-07
>>> 16:45:00.000000000 +0530
>>> @@ -139,10 +139,6 @@
>>>
>>>  #endif
>>>
>>> -#define OMAP_MCBSP_READ(base, reg) __raw_readw((base) +  
>>> OMAP_MCBSP_REG_##reg)
>>> -#define OMAP_MCBSP_WRITE(base, reg, val) __raw_writew((val), (base) +
>>> OMAP_MCBSP_REG_##reg)
>>> -
>>> -
>>>  /************************** McBSP SPCR1 bit definitions  
>>> ***********************/
>>>  #define RRST 0x0001
>>>  #define RRDY 0x0002
>>> @@ -369,6 +365,7 @@
>>>  };
>>>  extern struct omap_mcbsp **mcbsp_ptr;
>>>  extern int omap_mcbsp_count;
>>> +extern int mcbsp_32_bit_ops;
>>>
>>>  int omap_mcbsp_init(void);
>>>  void omap_mcbsp_register_board_cfg(struct omap_mcbsp_platform_data  
>>> *config,
>>>
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html 
>

      reply	other threads:[~2008-08-08  6:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-08  6:06 [PATCH 2/2] McBSP preamble patch for 34xx support, chandra shekhar
2008-08-08  6:26 ` Tony Lindgren
2008-08-08  6:52   ` shekhar, chandra
2008-08-08  6:59     ` Tony Lindgren [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=20080808065924.GF24923@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=x0044955@ti.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.