Skip to content

Commit

Permalink
[MTD] XIP: Use generic xip_iprefetch() instead of asm volatile (...)
Browse files Browse the repository at this point in the history
Untested, but shouldn't break anything... Makes MTD_XIP arch
independent. I guess this is why xip_iprefetch() was made for.

Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
  • Loading branch information
Paulius Zaleckas authored and David Woodhouse committed Apr 22, 2008
1 parent fe69af0 commit ca5c23c
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions drivers/mtd/chips/cfi_cmdset_0001.c
Original file line number Diff line number Diff line change
Expand Up @@ -1071,10 +1071,10 @@ static int __xipram xip_wait_for_operation(
chip->state = newstate;
map_write(map, CMD(0xff), adr);
(void) map_read(map, adr);
asm volatile (".rep 8; nop; .endr");
xip_iprefetch();
local_irq_enable();
spin_unlock(chip->mutex);
asm volatile (".rep 8; nop; .endr");
xip_iprefetch();
cond_resched();

/*
Expand Down
4 changes: 2 additions & 2 deletions drivers/mtd/chips/cfi_cmdset_0002.c
Original file line number Diff line number Diff line change
Expand Up @@ -723,10 +723,10 @@ static void __xipram xip_udelay(struct map_info *map, struct flchip *chip,
chip->erase_suspended = 1;
map_write(map, CMD(0xf0), adr);
(void) map_read(map, adr);
asm volatile (".rep 8; nop; .endr");
xip_iprefetch();
local_irq_enable();
spin_unlock(chip->mutex);
asm volatile (".rep 8; nop; .endr");
xip_iprefetch();
cond_resched();

/*
Expand Down
2 changes: 1 addition & 1 deletion drivers/mtd/chips/cfi_probe.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ struct mtd_info *cfi_probe(struct map_info *map);
#define xip_allowed(base, map) \
do { \
(void) map_read(map, base); \
asm volatile (".rep 8; nop; .endr"); \
xip_iprefetch(); \
local_irq_enable(); \
} while (0)

Expand Down
2 changes: 1 addition & 1 deletion drivers/mtd/chips/cfi_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ __xipram cfi_read_pri(struct map_info *map, __u16 adr, __u16 size, const char* n

#ifdef CONFIG_MTD_XIP
(void) map_read(map, base);
asm volatile (".rep 8; nop; .endr");
xip_iprefetch();
local_irq_enable();
#endif

Expand Down

0 comments on commit ca5c23c

Please sign in to comment.