[PARISC] fix compile break caused by iomap: make IOPORT/PCI mapping functions conditional

The problem in

commit fea80311a939a746533a6d7e7c3183729d6a3faf
Author: Randy Dunlap <rdunlap@xenotime.net>
Date:   Sun Jul 24 11:39:14 2011 -0700

    iomap: make IOPORT/PCI mapping functions conditional

is that if your architecture supplies pci_iomap/pci_iounmap, it expects
always to supply them.  Adding empty body defitions in the !CONFIG_PCI
case, which is what this patch does, breaks the parisc compile because
the functions become doubly defined.  It took us a while to spot this,
because we don't actually build !CONFIG_PCI very often (only if someone
is brave enough to test the snake/asp machines).

Since the note in the commit log says this is to fix a
CONFIG_GENERIC_IOMAP issue (which it does because CONFIG_GENERIC_IOMAP
supplies pci_iounmap only if CONFIG_PCI is set), there should actually
have been a condition upon this.  This should make sure no other
architecture's !CONFIG_PCI compile breaks in the same way as parisc.

The fix had to be updated to take account of the GENERIC_PCI_IOMAP
separation.

Reported-by: Rolf Eike Beer <eike@sf-mail.de>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
[PARISC] include <linux/prefetch.h> in drivers/parisc/iommu-helpers.h

drivers/parisc/iommu-helpers.h:62: error: implicit declaration of function 'prefetchw'
make[3]: *** [drivers/parisc/sba_iommu.o] Error 1

drivers/parisc/iommu-helpers.h needs to #include <linux/prefetch.h>
where prefetchw is declared.

Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
[PARISC] don't unconditionally override CROSS_COMPILE for 64 bit.

The user may wish to set their own value (for real cross compiles).  Since the
top level Makefile initialises CROSS_COMPILE to empty by default, we must
check it for being empty (rather than for being defined) before we override.

Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
[SCSI] osd_uld: Bump MAX_OSD_DEVICES from 64 to 1,048,576

It used to be that minors where 8 bit. But now they
are actually 20 bit. So the fix is simplicity itself.

I've tested with 300 devices and all user-mode utils
work just fine. I have also mechanically added 10,000
to the ida (so devices are /dev/osd10000, /dev/osd10001 ...)
and was able to mkfs an exofs filesystem and access osds
from user-mode.

All the open-osd user-mode code uses the same library
to access devices through their symbolic names in
/dev/osdX so I'd say it's pretty safe. (Well tested)

This patch is very important because some of the systems
that will be deploying the 3.2 pnfs-objects code are larger
than 64 OSDs and will stop to work properly when reaching
that number.

CC: Stable <stable@vger.kernel.org>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Linux 3.3-rc6
OMAP: Disaable L2X0 PrimeCell cache

This is due to 4460 cache coherency issues.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAP4: HDMI: Add OMAP device for HDMI audio CPU DAI

Add device for HDMI audio. This device uses hwmod data from
dss_hdmi. This device is to be used by the ASoC HDMI CPU DAI to
obtain base memory address and DMA request number.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAP: Add device for HDMI OMAP audio for ASoC machine driver

This device is used by the OMAP HDMI audio machine driver to register the
HDMI sound card.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAP4: HDMI: Add OMAP device for HDMI audio codec

Add a device to access hwmod data from dss_hdmi,
HDMI audio codec uses this device to get HDMI
base memory address and to configure OCP slave
idle mode for HDMI IP..

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: Add DSS feature for HDMI MCLK for audio

Certain OMAP4 revisions (i.e., 4430 ES2.3, 4460, and 4470) use
a pseudo clock (generated from the TMDS clock), MCLK, to drive the
generation of Audio Clock Regeneration packets. Other devices
(i.e., 4430 ES2.[0,2]) use the TMDS clock directly.

This patch adds a new DSS feature for MCLK support. It also rearranges
the omap_dss_features structures to reflect the devices supporting it.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Implement initialization of MCLK

When the MCLK is used to drive the Audio Clock Regeneration packets,
the initialization procedure is to set ACR_CTRL[2] to 0 and then
back again to 1. Also, devices that do not support the MCLK, use
the TMDS clock directly by leaving ACR_CTRL[2] set to 0.

The MLCK clock divisor, mclk_mode, is configured only if MLCK
is used. Such configuration is no longer related to the CTS mode
as in some silicon revisions CTS SW-mode is used along with the MCLK.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Modify logic to configure MCLK

The MCLK mode defines a factor to divide the clock that is used to
generate the Audio Clock Regeneration packets, MCLK.

The divisor is not used when the CTS value is calculated by HW.
When the value is calculated by SW, it depends on the silicon
revision.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Use HDMI enum when getting video timings

Rather than using a hard-coded number, use the appropriate enum
when deciding to use VESA or CEA video codes. This makes the code
more readable an prevents bugs if the enum is ever changed.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ALSA: Add definitions for CEA-861 Audio InfoFrames

CEA-861 audio info frames are used in HDMI and DisplayPort audio.
Hence, drivers for such devices may benefit from these
definitions.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
ALSA: Add shift values to IEC 60958 definitions

Several masks of IEC 60958 consumer and professional parameters are
complemented with shifts. These shifts may be used by drivers
to construct and parse such paramters to set, for example,
individual registers.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: Provide interface for audio support in DSS

There exist several display technologies and standards that support audio as
well. Hence, it is relevant to update DSS to provide an audio
interface to be used by the audio drivers.

At the moment, this interface is enough to support HDMI and DisplayPort,
as both are based on CEA-861 and IEC90658.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Remove ASoC codec.

Instead of having an ASoC codec, generic DSS driver interface for
audio support will be used. This allows potential users to use
the HDMI audio functionality. Potential users include an ASoC
driver.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Remove CEA 861 audio infoframe and IEC 60958 enums

Instead, use the definitions provided by asoundef.h

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: Decouple wrapper enable and audio start

Decouple the enablement of the HDMI audio wrapper from audio start.
Otherwise, an audio FIFO underflow may occur. The audio wrapper
enablement is performed in the ASoC codec's prepare function in
order to have it ready when audio playback is started.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
OMAPDSS: HDMI: OMAP4: Remove unneeded includes

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>