Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 193377
b: refs/heads/master
c: feb58cf
h: refs/heads/master
i:
  193375: 22060ec
v: v3
  • Loading branch information
Kuninori Morimoto authored and Mark Brown committed Mar 24, 2010
1 parent 08fc7a5 commit 5039ebd
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1ad747ca9b6f97f895e0a6ccd447b158aeaa568d
refs/heads/master: feb58cffca772097a849b413fb7954f87e9e9e71
22 changes: 11 additions & 11 deletions trunk/sound/soc/sh/fsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,12 @@
#define INT_A_IN (1 << 4)
#define INT_A_OUT (1 << 0)

/* SOFT_RST */
#define PBSR (1 << 12) /* Port B Software Reset */
#define PASR (1 << 8) /* Port A Software Reset */
#define IR (1 << 4) /* Interrupt Reset */
#define FSISR (1 << 0) /* Software Reset */

#define FSI_RATES SNDRV_PCM_RATE_8000_96000

#define FSI_FMTS (SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S16_LE)
Expand Down Expand Up @@ -372,18 +378,13 @@ static void fsi_irq_init(struct fsi_priv *fsi, int is_play)

static void fsi_soft_all_reset(struct fsi_master *master)
{
u32 status = fsi_master_read(master, SOFT_RST);

/* port AB reset */
status &= 0x000000ff;
fsi_master_write(master, SOFT_RST, status);
fsi_master_mask_set(master, SOFT_RST, PASR | PBSR, 0);
mdelay(10);

/* soft reset */
status &= 0x000000f0;
fsi_master_write(master, SOFT_RST, status);
status |= 0x00000001;
fsi_master_write(master, SOFT_RST, status);
fsi_master_mask_set(master, SOFT_RST, FSISR, 0);
fsi_master_mask_set(master, SOFT_RST, FSISR, FSISR);
mdelay(10);
}

Expand Down Expand Up @@ -558,12 +559,11 @@ static int fsi_data_pop(struct fsi_priv *fsi, int startup)
static irqreturn_t fsi_interrupt(int irq, void *data)
{
struct fsi_master *master = data;
u32 status = fsi_master_read(master, SOFT_RST) & ~0x00000010;
u32 int_st = fsi_master_read(master, INT_ST);

/* clear irq status */
fsi_master_write(master, SOFT_RST, status);
fsi_master_write(master, SOFT_RST, status | 0x00000010);
fsi_master_mask_set(master, SOFT_RST, IR, 0);
fsi_master_mask_set(master, SOFT_RST, IR, IR);

if (int_st & INT_A_OUT)
fsi_data_push(&master->fsia, 0);
Expand Down

0 comments on commit 5039ebd

Please sign in to comment.