Hello,
some may be looking for latest linux kernel for ps3 otheros++.
two kernel 6.8.1 and 6.9-rc1 testing on my slim(355).
they are still boot fine for latest Gentoo and T2 SDE.
but there are some issues.
1) config for Build big-endian kernel using ELF ABI V2
kernel 6.8.1 cannot boot.
kernel 6.9-rc1 can boot OK
know not much about this config for.
2) kernel 6.9-rc1
ps3disk.c: ps3disk_probe line 379
struct queue_limits lim = {
.logical_block_size = dev->blk_size,
.max_hw_sectors = dev->bounce_size >> 9,
.max_segments = -1,
.max_segment_size = dev->bounce_size,
.dma_alignment = dev->blk_size - 1,
};
the temporlary variable lim, it seems proper,
but it not working for me. some other members of this struct
may not be zero. they are using for deault settings.
fixed by memset and set its members as above.
3) for multi-block queues
this below just my understanding if not right,
please do help advice.
hardware request queues can run all,
but for ps3, it handdles one at a time
for each reuest to read, write or flush.
it will then cause one interrupt
to tell the result whether successful or not.
in the function(ps3disk_queue_rq),
if lv1_storage_write, lv1_storage_read or
lv1_storage_send_device_command is result OK.
then priv->req = req. this will be set to NULL when interrupt.
for next two or more requsts, it will check this
if not NULL, it will return BLK_STS_DEV_RESOURCE.
then this request will re-run by
blk_mq_dispatch_rq_list(blk-mq.c)
this will hold control one at a time.
Hope this will help for some.