Commit 14262a4b authored by Bart Van Assche's avatar Bart Van Assche Committed by Jens Axboe

skd: Remove useless barrier() calls

The purpose of barrier() is to prevent reordering by the compiler.
Since the compiler does not reorder calls to non-pure functions,
remove the barrier() calls from skd_reg_{read,write}{32,64}().

Since pr_debug() is able to report file name and line number
information, remove __FILE__ and __LINE__ from the pr_debug() calls.
Signed-off-by: default avatarBart Van Assche <bart.vanassche@wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 55712aeb
...@@ -341,49 +341,27 @@ struct skd_device { ...@@ -341,49 +341,27 @@ struct skd_device {
static inline u32 skd_reg_read32(struct skd_device *skdev, u32 offset) static inline u32 skd_reg_read32(struct skd_device *skdev, u32 offset)
{ {
u32 val; u32 val = readl(skdev->mem_map[1] + offset);
if (likely(skdev->dbg_level < 2)) if (unlikely(skdev->dbg_level >= 2))
return readl(skdev->mem_map[1] + offset); pr_debug("%s offset %x = %x\n", skdev->name, offset, val);
else {
barrier();
val = readl(skdev->mem_map[1] + offset);
barrier();
pr_debug("%s:%s:%d offset %x = %x\n",
skdev->name, __func__, __LINE__, offset, val);
return val; return val;
}
} }
static inline void skd_reg_write32(struct skd_device *skdev, u32 val, static inline void skd_reg_write32(struct skd_device *skdev, u32 val,
u32 offset) u32 offset)
{ {
if (likely(skdev->dbg_level < 2)) {
writel(val, skdev->mem_map[1] + offset);
barrier();
} else {
barrier();
writel(val, skdev->mem_map[1] + offset); writel(val, skdev->mem_map[1] + offset);
barrier(); if (unlikely(skdev->dbg_level >= 2))
pr_debug("%s:%s:%d offset %x = %x\n", pr_debug("%s offset %x = %x\n", skdev->name, offset, val);
skdev->name, __func__, __LINE__, offset, val);
}
} }
static inline void skd_reg_write64(struct skd_device *skdev, u64 val, static inline void skd_reg_write64(struct skd_device *skdev, u64 val,
u32 offset) u32 offset)
{ {
if (likely(skdev->dbg_level < 2)) {
writeq(val, skdev->mem_map[1] + offset); writeq(val, skdev->mem_map[1] + offset);
barrier(); if (unlikely(skdev->dbg_level >= 2))
} else { pr_debug("%s offset %x = %016llx\n", skdev->name, offset, val);
barrier();
writeq(val, skdev->mem_map[1] + offset);
barrier();
pr_debug("%s:%s:%d offset %x = %016llx\n",
skdev->name, __func__, __LINE__, offset, val);
}
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment