<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/block, branch v2013.01</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/'/>
<entry>
<title>drivers/block/: sparse fixes</title>
<updated>2012-11-04T18:00:37+00:00</updated>
<author>
<name>Kim Phillips</name>
<email>kim.phillips@freescale.com</email>
</author>
<published>2012-10-29T13:34:40+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=00caa7f508f37327f7d4f6ca08ffdec09e411c10'/>
<id>00caa7f508f37327f7d4f6ca08ffdec09e411c10</id>
<content type='text'>
sata_sil.c:371:7: warning: symbol 'sil_sata_rw_lba28' was not declared. Should it be static?
sata_sil.c:399:7: warning: symbol 'sil_sata_rw_lba48' was not declared. Should it be static?
sata_sil.c:429:6: warning: symbol 'sil_sata_cmd_flush_cache' was not declared. Should it be static?
sata_sil.c:441:6: warning: symbol 'sil_sata_cmd_flush_cache_ext' was not declared. Should it be static?
sata_sil.c:489:7: warning: symbol 'sata_read' was not declared. Should it be static?
sata_sil.c:505:7: warning: symbol 'sata_write' was not declared. Should it be static?
sata_sil.c:526:5: warning: symbol 'init_sata' was not declared. Should it be static?
sata_sil.c:588:5: warning: symbol 'scan_sata' was not declared. Should it be static?
fsl_sata.c:59:6: warning: symbol 'dprint_buffer' was not declared. Should it be static?
fsl_sata.c:187:42: warning: incorrect type in assignment (different base types)
fsl_sata.c:187:42:    expected unsigned int [unsigned] [usertype] cda
fsl_sata.c:187:42:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:291:6: warning: symbol 'fsl_sata_hardware_reset' was not declared. Should it be static?
fsl_sata.c:418:27: warning: incorrect type in assignment (different base types)
fsl_sata.c:418:27:    expected unsigned int [unsigned] [usertype] dba
fsl_sata.c:418:27:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:424:41: warning: incorrect type in assignment (different base types)
fsl_sata.c:424:41:    expected unsigned int [unsigned] [usertype] ext_c_ddc
fsl_sata.c:424:41:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:431:41: warning: incorrect type in assignment (different base types)
fsl_sata.c:431:41:    expected unsigned int [unsigned] [usertype] ext_c_ddc
fsl_sata.c:431:41:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:442:22: warning: incorrect type in assignment (different base types)
fsl_sata.c:442:22:    expected unsigned int [unsigned] [usertype] cda
fsl_sata.c:442:22:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:446:31: warning: incorrect type in assignment (different base types)
fsl_sata.c:446:31:    expected unsigned int [unsigned] [usertype] prde_fis_len
fsl_sata.c:446:31:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:448:22: warning: incorrect type in assignment (different base types)
fsl_sata.c:448:22:    expected unsigned int [unsigned] [usertype] ttl
fsl_sata.c:448:22:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:460:28: warning: incorrect type in assignment (different base types)
fsl_sata.c:460:28:    expected unsigned int [unsigned] [usertype] attribute
fsl_sata.c:460:28:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:623:6: warning: symbol 'fsl_sata_flush_cache' was not declared. Should it be static?
fsl_sata.c:667:5: warning: symbol 'fsl_sata_rw_ncq_cmd' was not declared. Should it be static?
fsl_sata.c:710:6: warning: symbol 'fsl_sata_flush_cache_ext' was not declared. Should it be static?
fsl_sata.c:725:6: warning: symbol 'fsl_sata_software_reset' was not declared. Should it be static?
fsl_sata.c:760:5: warning: symbol 'ata_low_level_rw_lba48' was not declared. Should it be static?
fsl_sata.c:795:5: warning: symbol 'ata_low_level_rw_lba28' was not declared. Should it be static?

the following compiler warnings show up after fixing the above, so
remove those three functions:

fsl_sata.c:59:13: warning: 'dprint_buffer' defined but not used [-Wunused-function]
fsl_sata.c:291:13: warning: 'fsl_sata_hardware_reset' defined but not used [-Wunused-function]
fsl_sata.c:726:13: warning: 'fsl_sata_software_reset' defined but not used [-Wunused-function]

Other than that, the following are fixed by __iomem annotation:

fsl_sata.c:84:39: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:84:39:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:84:39:    got unsigned int volatile *addr
fsl_sata.c:172:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:172:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:172:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:175:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:175:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:175:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:181:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:181:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:181:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:184:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:184:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:184:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:186:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:186:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:186:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:189:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:189:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:189:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:191:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:191:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:191:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:194:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:194:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:194:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:195:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:195:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:195:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:198:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:198:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:198:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:201:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:201:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:201:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:204:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:204:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:204:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:205:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:205:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:205:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:208:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:208:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:208:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:209:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:209:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:209:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:212:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:212:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:212:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:213:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:213:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:213:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:216:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:216:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:216:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:219:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:219:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:219:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:222:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:222:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:222:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:225:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:225:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:225:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:227:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:227:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:227:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:242:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:242:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:242:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:256:32: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:256:32:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:256:32:    got unsigned int *&lt;noident&gt;
fsl_sata.c:262:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:262:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:262:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:274:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:274:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:274:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:275:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:275:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:275:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:276:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:276:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:276:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:277:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:277:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:277:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:278:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:278:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:278:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:279:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:279:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:279:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:280:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:280:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:280:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:281:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:281:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:281:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:282:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:282:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:282:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:283:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:283:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:283:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:284:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:284:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:284:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:285:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:285:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:285:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:286:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:286:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:286:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:287:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:287:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:287:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:288:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:288:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:288:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:289:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:289:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:289:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:290:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:290:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:290:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:291:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:291:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:291:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:292:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:292:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:292:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:293:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:293:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:293:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:294:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:294:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:294:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:295:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:295:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:295:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:296:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:296:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:296:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:297:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:297:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:297:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:298:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:298:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:298:53:    got unsigned int *&lt;noident&gt;

Signed-off-by: Kim Phillips &lt;kim.phillips@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sata_sil.c:371:7: warning: symbol 'sil_sata_rw_lba28' was not declared. Should it be static?
sata_sil.c:399:7: warning: symbol 'sil_sata_rw_lba48' was not declared. Should it be static?
sata_sil.c:429:6: warning: symbol 'sil_sata_cmd_flush_cache' was not declared. Should it be static?
sata_sil.c:441:6: warning: symbol 'sil_sata_cmd_flush_cache_ext' was not declared. Should it be static?
sata_sil.c:489:7: warning: symbol 'sata_read' was not declared. Should it be static?
sata_sil.c:505:7: warning: symbol 'sata_write' was not declared. Should it be static?
sata_sil.c:526:5: warning: symbol 'init_sata' was not declared. Should it be static?
sata_sil.c:588:5: warning: symbol 'scan_sata' was not declared. Should it be static?
fsl_sata.c:59:6: warning: symbol 'dprint_buffer' was not declared. Should it be static?
fsl_sata.c:187:42: warning: incorrect type in assignment (different base types)
fsl_sata.c:187:42:    expected unsigned int [unsigned] [usertype] cda
fsl_sata.c:187:42:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:291:6: warning: symbol 'fsl_sata_hardware_reset' was not declared. Should it be static?
fsl_sata.c:418:27: warning: incorrect type in assignment (different base types)
fsl_sata.c:418:27:    expected unsigned int [unsigned] [usertype] dba
fsl_sata.c:418:27:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:424:41: warning: incorrect type in assignment (different base types)
fsl_sata.c:424:41:    expected unsigned int [unsigned] [usertype] ext_c_ddc
fsl_sata.c:424:41:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:431:41: warning: incorrect type in assignment (different base types)
fsl_sata.c:431:41:    expected unsigned int [unsigned] [usertype] ext_c_ddc
fsl_sata.c:431:41:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:442:22: warning: incorrect type in assignment (different base types)
fsl_sata.c:442:22:    expected unsigned int [unsigned] [usertype] cda
fsl_sata.c:442:22:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:446:31: warning: incorrect type in assignment (different base types)
fsl_sata.c:446:31:    expected unsigned int [unsigned] [usertype] prde_fis_len
fsl_sata.c:446:31:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:448:22: warning: incorrect type in assignment (different base types)
fsl_sata.c:448:22:    expected unsigned int [unsigned] [usertype] ttl
fsl_sata.c:448:22:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:460:28: warning: incorrect type in assignment (different base types)
fsl_sata.c:460:28:    expected unsigned int [unsigned] [usertype] attribute
fsl_sata.c:460:28:    got restricted __le32 [usertype] &lt;noident&gt;
fsl_sata.c:623:6: warning: symbol 'fsl_sata_flush_cache' was not declared. Should it be static?
fsl_sata.c:667:5: warning: symbol 'fsl_sata_rw_ncq_cmd' was not declared. Should it be static?
fsl_sata.c:710:6: warning: symbol 'fsl_sata_flush_cache_ext' was not declared. Should it be static?
fsl_sata.c:725:6: warning: symbol 'fsl_sata_software_reset' was not declared. Should it be static?
fsl_sata.c:760:5: warning: symbol 'ata_low_level_rw_lba48' was not declared. Should it be static?
fsl_sata.c:795:5: warning: symbol 'ata_low_level_rw_lba28' was not declared. Should it be static?

the following compiler warnings show up after fixing the above, so
remove those three functions:

fsl_sata.c:59:13: warning: 'dprint_buffer' defined but not used [-Wunused-function]
fsl_sata.c:291:13: warning: 'fsl_sata_hardware_reset' defined but not used [-Wunused-function]
fsl_sata.c:726:13: warning: 'fsl_sata_software_reset' defined but not used [-Wunused-function]

Other than that, the following are fixed by __iomem annotation:

fsl_sata.c:84:39: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:84:39:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:84:39:    got unsigned int volatile *addr
fsl_sata.c:172:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:172:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:172:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:175:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:175:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:175:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:181:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:181:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:181:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:184:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:184:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:184:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:186:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:186:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:186:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:189:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:189:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:189:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:191:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:191:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:191:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:194:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:194:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:194:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:195:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:195:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:195:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:198:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:198:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:198:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:201:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:201:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:201:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:204:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:204:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:204:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:205:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:205:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:205:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:208:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:208:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:208:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:209:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:209:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:209:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:212:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:212:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:212:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:213:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:213:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:213:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:216:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:216:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:216:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:219:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:219:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:219:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:222:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:222:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:222:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:225:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:225:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:225:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:227:19: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:227:19:    expected unsigned int volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:227:19:    got unsigned int *&lt;noident&gt;
fsl_sata.c:242:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:242:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:242:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:256:32: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:256:32:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:256:32:    got unsigned int *&lt;noident&gt;
fsl_sata.c:262:26: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:262:26:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:262:26:    got unsigned int *&lt;noident&gt;
fsl_sata.c:274:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:274:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:274:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:275:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:275:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:275:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:276:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:276:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:276:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:277:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:277:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:277:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:278:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:278:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:278:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:279:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:279:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:279:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:280:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:280:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:280:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:281:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:281:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:281:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:282:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:282:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:282:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:283:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:283:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:283:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:284:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:284:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:284:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:285:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:285:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:285:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:286:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:286:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:286:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:287:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:287:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:287:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:288:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:288:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:288:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:289:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:289:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:289:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:290:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:290:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:290:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:291:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:291:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:291:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:292:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:292:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:292:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:293:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:293:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:293:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:294:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:294:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:294:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:295:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:295:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:295:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:296:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:296:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:296:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:297:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:297:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:297:53:    got unsigned int *&lt;noident&gt;
fsl_sata.c:298:53: warning: incorrect type in argument 1 (different address spaces)
fsl_sata.c:298:53:    expected unsigned int const volatile [noderef] &lt;asn:2&gt;*addr
fsl_sata.c:298:53:    got unsigned int *&lt;noident&gt;

Signed-off-by: Kim Phillips &lt;kim.phillips@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: Expand HDD Logical Block addressability up to 32 bits</title>
<updated>2012-11-02T22:20:43+00:00</updated>
<author>
<name>Walter Murphy</name>
<email>wmurphy@google.com</email>
</author>
<published>2012-10-29T05:24:03+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=fe1f808ce79de0caa4674340958f02780b2f81f9'/>
<id>fe1f808ce79de0caa4674340958f02780b2f81f9</id>
<content type='text'>
Currently, this driver uses a 28bit interface to AHCI, this
limits the number of blocks addressable to 2^28, or the max
disk size to 512(2^28) or about 137GB. This change allows
supporting drives up to about 2TB.

Testing this is a bit difficult. There is test code that
can be inserted into U-Boot that will write test patterns
into certain unused blocks. These patterns can be manually
checked using 'dd' after boot. Another way is to confirm the
original error that exposed this bug is fixed. IOW: see if
AU (Auto Update) will now work on the drive. Also, check
that there are no warning messages from the 'cgpt' utility.

Signed-off-by: Walter Murphy &lt;wmurphy@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, this driver uses a 28bit interface to AHCI, this
limits the number of blocks addressable to 2^28, or the max
disk size to 512(2^28) or about 137GB. This change allows
supporting drives up to about 2TB.

Testing this is a bit difficult. There is test code that
can be inserted into U-Boot that will write test patterns
into certain unused blocks. These patterns can be manually
checked using 'dd' after boot. Another way is to confirm the
original error that exposed this bug is fixed. IOW: see if
AU (Auto Update) will now work on the drive. Also, check
that there are no warning messages from the 'cgpt' utility.

Signed-off-by: Walter Murphy &lt;wmurphy@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: Perform SATA flush after disk write.</title>
<updated>2012-11-02T22:20:43+00:00</updated>
<author>
<name>Marc Jones</name>
<email>marc.jones@chromium.org</email>
</author>
<published>2012-10-29T05:24:02+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=766b16fe180087d8c59a79a4f6a92d1a500fa524'/>
<id>766b16fe180087d8c59a79a4f6a92d1a500fa524</id>
<content type='text'>
Writes in u-boot are so rare, and the logic to know when is
the last write and do a flush only there is sufficiently
difficult. Just do a flush after every write. This incurs,
usually, one extra flush when the rare writes do happen.

Signed-off-by: Marc Jones &lt;marc.jones@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Writes in u-boot are so rare, and the logic to know when is
the last write and do a flush only there is sufficiently
difficult. Just do a flush after every write. This incurs,
usually, one extra flush when the rare writes do happen.

Signed-off-by: Marc Jones &lt;marc.jones@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: Support spin-up and link-up separately</title>
<updated>2012-11-02T22:20:43+00:00</updated>
<author>
<name>Marc Jones</name>
<email>marc.jones@chromium.org</email>
</author>
<published>2012-10-29T05:24:01+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=2a0c61d401732a2c21b0dc7fe6d1aeec79da8c05'/>
<id>2a0c61d401732a2c21b0dc7fe6d1aeec79da8c05</id>
<content type='text'>
Add HDD handling to the SSD-only AHCI driver, by separately dealing with
spin-up and link-up.

Signed-off-by: Marc Jones &lt;marc.jones@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add HDD handling to the SSD-only AHCI driver, by separately dealing with
spin-up and link-up.

Signed-off-by: Marc Jones &lt;marc.jones@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: Adjust SATA timeouts for hard disk (spinup delay &amp; command timeout)</title>
<updated>2012-11-02T22:20:42+00:00</updated>
<author>
<name>Walter Murphy</name>
<email>wmurphy@google.com</email>
</author>
<published>2012-10-29T05:24:00+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=57847660bb9ddba1d4bc9c1dc551730f71c097a7'/>
<id>57847660bb9ddba1d4bc9c1dc551730f71c097a7</id>
<content type='text'>
Note: These are timeout values and not delay values, so the event being
timed out will complete whenever it is actually ready, with a
measurement granularity of 1 millisecond, up till the timeout value.
Therefore, there is no effect on SSD booting.

The values were determined by instrumenting the code and measuring the
actual time taken by several different models of HDD for each of the
parameters and then adding 50% more for the spinup value and just
doubling the command timeout value.

Signed-off-by: Walter Murphy &lt;wmurphy@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note: These are timeout values and not delay values, so the event being
timed out will complete whenever it is actually ready, with a
measurement granularity of 1 millisecond, up till the timeout value.
Therefore, there is no effect on SSD booting.

The values were determined by instrumenting the code and measuring the
actual time taken by several different models of HDD for each of the
parameters and then adding 50% more for the spinup value and just
doubling the command timeout value.

Signed-off-by: Walter Murphy &lt;wmurphy@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: flush / invalidate dcache around SATA commands</title>
<updated>2012-11-02T22:20:42+00:00</updated>
<author>
<name>Taylor Hutt</name>
<email>thutt@chromium.org</email>
</author>
<published>2012-10-29T05:23:59+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=90b276f6a2a9e197eadce297fd593d85397bc430'/>
<id>90b276f6a2a9e197eadce297fd593d85397bc430</id>
<content type='text'>
Exynos5 automatically performs DMA when the SATA controller executes
commands.  This adds the necessary dcache-to-memory flush &amp;
invalidation calls to allow the DMA to properly function.

Signed-off-by: Taylor Hutt &lt;thutt@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Exynos5 automatically performs DMA when the SATA controller executes
commands.  This adds the necessary dcache-to-memory flush &amp;
invalidation calls to allow the DMA to properly function.

Signed-off-by: Taylor Hutt &lt;thutt@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: Use virt_to_phys() to denote physical addresses for DMA</title>
<updated>2012-11-02T22:20:42+00:00</updated>
<author>
<name>Taylor Hutt</name>
<email>thutt@chromium.org</email>
</author>
<published>2012-10-29T05:23:58+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=64738e8ae89214030061f62d6598e837664916c3'/>
<id>64738e8ae89214030061f62d6598e837664916c3</id>
<content type='text'>
Update the assignment of various physical memory buffers used by the
SATA controller to explicitly be denoted as physical addresses.

The memory is identity-mapped, so these function calls are a nop, but
they provide good semantic documentation for any maintainers.

The return value of virt_to_phys() is 'unsigned long'.  On machines
where sizeof(unsigned long) != sizeof(pointer), a cast through
(uintptr_t) is needed to appease the compiler due to the potential of
losing the upper 32 bits of the address.

In compilation this scenario, a physical address could be 64-bits, yet
the C pointer environment only allows 32-bit addresses; the constraint
is that pointers cannot address more than 4Gb of memory and if
virt_to_phys() ever returns an out-of-range value for the physical
address, there are issues with emmory mapping which must be solved.
However, since the memory is identify mappeed, there is no problem
introducing the cast: the original pointer will reside in 32-bits, so
the physical address will also be within in 32-bits.

Signed-off-by: Taylor Hutt &lt;thutt@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update the assignment of various physical memory buffers used by the
SATA controller to explicitly be denoted as physical addresses.

The memory is identity-mapped, so these function calls are a nop, but
they provide good semantic documentation for any maintainers.

The return value of virt_to_phys() is 'unsigned long'.  On machines
where sizeof(unsigned long) != sizeof(pointer), a cast through
(uintptr_t) is needed to appease the compiler due to the potential of
losing the upper 32 bits of the address.

In compilation this scenario, a physical address could be 64-bits, yet
the C pointer environment only allows 32-bit addresses; the constraint
is that pointers cannot address more than 4Gb of memory and if
virt_to_phys() ever returns an out-of-range value for the physical
address, there are issues with emmory mapping which must be solved.
However, since the memory is identify mappeed, there is no problem
introducing the cast: the original pointer will reside in 32-bits, so
the physical address will also be within in 32-bits.

Signed-off-by: Taylor Hutt &lt;thutt@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: Fix 'Invaild' typo</title>
<updated>2012-11-02T22:20:42+00:00</updated>
<author>
<name>Taylor Hutt</name>
<email>thutt@chromium.org</email>
</author>
<published>2012-10-29T05:23:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=5a2b77f47daa5c87ef45a1c71c72cbc16ede77f8'/>
<id>5a2b77f47daa5c87ef45a1c71c72cbc16ede77f8</id>
<content type='text'>
This fixes a spelling error in a message which can be output to the
console.

Signed-off-by: Taylor Hutt &lt;thutt@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a spelling error in a message which can be output to the
console.

Signed-off-by: Taylor Hutt &lt;thutt@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: Use sizeof(fis) instead of hardcoding '20'</title>
<updated>2012-11-02T22:20:42+00:00</updated>
<author>
<name>Taylor Hutt</name>
<email>thutt@chromium.org</email>
</author>
<published>2012-10-29T05:23:55+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=c8731115656132b4b449f4e32a867ec48e47c84b'/>
<id>c8731115656132b4b449f4e32a867ec48e47c84b</id>
<content type='text'>
This cleanup replaces the hardcoded use of '20', which represents the
number of bytes in the FIS, with sizeof(fis).

Signed-off-by: Taylor Hutt &lt;thutt@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This cleanup replaces the hardcoded use of '20', which represents the
number of bytes in the FIS, with sizeof(fis).

Signed-off-by: Taylor Hutt &lt;thutt@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ahci: Make the AHCI code find the capacity of disks &gt; 128 GB properly</title>
<updated>2012-11-02T22:20:41+00:00</updated>
<author>
<name>Gabe Black</name>
<email>gabeblack@chromium.org</email>
</author>
<published>2012-10-29T05:23:54+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ausil/public_git/u-boot.git/commit/?id=19d1d41e844ea8525f527fd5301aba9eb3006241'/>
<id>19d1d41e844ea8525f527fd5301aba9eb3006241</id>
<content type='text'>
In the structure returned by the ATA identify device command, there are two
fields which describe the device capacity. One is a 32 bit data type which
reports the number of sectors as a 28 bit LBA, and the other is a 64 bit data
type which is for a 48 bit LBA. If the device doesn't support 48 bit LBAs,
the small value is the only value with the correct size. If it supports more,
if the number of sectors is small enough to fit into 28 bits, both fields
reflect the correct value. If it's too large, the smaller field has 28 bits of
1s, 0xfffffff, and the other field has the correct value.

The AHCI driver is implemented by attaching to the generic SCSI code and
translating on the fly between SCSI binary data structures and AHCI data
structures. It responds to requests to execute specific SCSI commands by
executing the equivalent AHCI commands and then crafting a response which
matches what a SCSI disk would send.

The AHCI driver now considers both fields and chooses the correct one when
implementing both the SCSI READ CAPACITY (10) and READ CAPACITY (16) commands.

Signed-off-by: Gabe Black &lt;gabeblack@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the structure returned by the ATA identify device command, there are two
fields which describe the device capacity. One is a 32 bit data type which
reports the number of sectors as a 28 bit LBA, and the other is a 64 bit data
type which is for a 48 bit LBA. If the device doesn't support 48 bit LBAs,
the small value is the only value with the correct size. If it supports more,
if the number of sectors is small enough to fit into 28 bits, both fields
reflect the correct value. If it's too large, the smaller field has 28 bits of
1s, 0xfffffff, and the other field has the correct value.

The AHCI driver is implemented by attaching to the generic SCSI code and
translating on the fly between SCSI binary data structures and AHCI data
structures. It responds to requests to execute specific SCSI commands by
executing the equivalent AHCI commands and then crafting a response which
matches what a SCSI disk would send.

The AHCI driver now considers both fields and chooses the correct one when
implementing both the SCSI READ CAPACITY (10) and READ CAPACITY (16) commands.

Signed-off-by: Gabe Black &lt;gabeblack@chromium.org&gt;
Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
