Yoshihiro Shimoda
70fa02ca14
PCI: dwc: Add dw_pcie_ep_{read,write}_dbi[2] helpers
...
The current code calculated some dbi[2] registers' offset by calling
dw_pcie_ep_get_dbi[2]_offset() in each function. To improve the code
readability, add dw_pcie_ep_{read,write}_dbi[2} and some data-width
related helpers.
Link: https://lore.kernel.org/linux-pci/20231220053829.1921187-5-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org >
Reviewed-by: Serge Semin <fancer.lancer@gmail.com >
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
2024-01-06 07:51:09 +00:00
Yoshihiro Shimoda
641f79beee
PCI: dwc: Rename .func_conf_select to .get_dbi_offset in struct dw_pcie_ep_ops
...
Since the struct member .func_conf_select makes the intentions behind it
difficult to ascertain from its name alone, rename it to .get_dbi_offset
to make the intended usage more obvious.
[kwilczynski: commmit log]
Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/linux-pci/20231220053829.1921187-4-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org >
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Serge Semin <fancer.lancer@gmail.com >
2024-01-06 07:51:08 +00:00
Yoshihiro Shimoda
756dcb5a82
PCI: dwc: Rename .ep_init to .init in struct dw_pcie_ep_ops
...
Since the name of the dw_pcie_ep_ops struct makes it obvious that it's
for the PCIe Endpoint, rename the struct member .ep_init to .init.
[kwilczynski: commit log]
Suggested-by: Serge Semin <fancer.lancer@gmail.com >
Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/linux-pci/20231220053829.1921187-3-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org >
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Serge Semin <fancer.lancer@gmail.com >
Reviewed-by: Srikanth Thokala <srikanth.thokala@intel.com >
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com >
Acked-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
2024-01-06 07:51:08 +00:00
Yoshihiro Shimoda
aea370b2ae
PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members
...
Since the name of the dw_pcie_host_ops struct makes it obvious that it's
for the PCIe Host, drop the host prefix from the struct members.
[kwilczynski: commit log]
Suggested-by: Serge Semin <fancer.lancer@gmail.com >
Link: https://lore.kernel.org/linux-pci/20231220053829.1921187-2-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org >
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Serge Semin <fancer.lancer@gmail.com >
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com >
Acked-by: Heiko Stuebner <heiko@sntech.de >
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com >
Acked-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Acked-by: Lei Chuanhua <lchuanhua@maxlinear.com >
Acked-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp >
2024-01-06 07:51:08 +00:00
Niklas Cassel
516f366434
misc: pci_endpoint_test: Use a unique test pattern for each BAR
...
Use a unique test pattern for each BAR in. This makes it easier to
detect/debug address translation issues, since a developer can dump
the backing memory on the EP side, using e.g. devmem, to verify that
the address translation for each BAR is actually correct.
Link: https://lore.kernel.org/linux-pci/20231215105952.1531683-1-nks@flawful.org
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com >
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org >
Reviewed-by: Damien Le Moal <dlemoal@kernel.org >
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
2024-01-06 05:00:08 +00:00
Peter Robinson
177c9ac6ab
PCI: j721e: Make TI J721E depend on ARCH_K3
...
The J721E PCIe is hardware specific to TI SoC parts so add a dependency
on that so it's available for those SoC parts and for compile testing but
not necessarily everyone who enables the Cadence PCIe controller.
Link: https://lore.kernel.org/linux-pci/20240104213910.1426843-1-pbrobinson@gmail.com
Signed-off-by: Peter Robinson <pbrobinson@gmail.com >
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org >
2024-01-06 04:51:51 +00:00
Matt Ranostay
e49ad66781
PCI: j721e: Add TI J784S4 PCIe configuration
...
Add PCIe configuration for J784S4 SoC platform which has 4x lane
support.
Link: https://lore.kernel.org/linux-pci/20231128054402.2155183-6-s-vadapalli@ti.com
Tested-by: Achal Verma <a-verma1@ti.com >
Signed-off-by: Matt Ranostay <mranostay@ti.com >
Signed-off-by: Achal Verma <a-verma1@ti.com >
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com >
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org >
Reviewed-by: Roger Quadros <rogerq@kernel.org >
2024-01-06 04:50:49 +00:00
Kent Overstreet
169de41985
bcachefs: eytzinger0_find() search should be const
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:46 -05:00
Kent Overstreet
f5d4481c3e
bcachefs: move "ptrs not changing" optimization to bch2_trigger_extent()
...
This is useful for btree ptrs as well, when we're just updating
sectors_written.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:46 -05:00
Kent Overstreet
e7999235e6
bcachefs: fix simulateously upgrading & downgrading
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
72e2c920e4
bcachefs: Restart recovery passes more reliably
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
d04d272743
bcachefs: bch2_dump_bset() doesn't choke on u64s == 0
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
4819b66e29
bcachefs: improve checksum error messages
...
new helpers:
- bch2_csum_to_text()
- bch2_csum_err_msg()
standardize our checksum error messages a bit, and print out the
checksums a bit more nicely.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
2d02bfb01b
bcachefs: improve validate_bset_keys()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
5e448c4893
bcachefs: print sb magic when relevant
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
5b88365660
bcachefs: __bch2_sb_field_to_text()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
1f5af5fc17
bcachefs: %pg is banished
...
not portable to userspace
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
c13fbb7de2
bcachefs: Improve would_deadlock trace event
...
We now include backtraces for every thread involved in the cycle.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
074cbcdaee
bcachefs: fsck_err()s don't need to manually check c->sb.version anymore
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:21 -05:00
Kent Overstreet
15eaaa4c31
bcachefs: Upgrades now specify errors to fix, like downgrades
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
d641d4cae7
bcachefs: no thread_with_file in userspace
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
a64a37338d
bcachefs: Don't autofix errors we can't fix
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
e9bc59f9df
bcachefs: add missing bch2_latency_acct() call
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
4798bd2443
bcachefs: increase max_active on io_complete_wq
...
this definitely should _not_ be 1, and we don't actually want any
concurrency limiting at all here - btree node read completions are
getting blocked behind btree node write submissions.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
c72e4d7a30
bcachefs: add time_stats for btree_node_read_done()
...
Seeing weird latency issues in the btree node read path - add one
bch2_btree_node_read_done().
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
b819f30855
bcachefs: don't clear accessed bit in btree node fill
...
Seeing strange performance issues that might be caused by memory
pressure causing prefetched nodes to be evicted before they're used.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
49a5192c0e
bcachefs: Add an option to control btree node prefetching
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
8a0dda6fd6
bcachefs: kill useless return ret
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
f0431c5f47
bcachefs: Combine .trans_trigger, .atomic_trigger
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
4f9ec59f8f
bcachefs: unify extent trigger
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
5a82ec3fea
bcachefs: bch2_trigger_stripe_ptr()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
d55ddf6e7a
bcachefs: Online fsck can now fix errors
...
BCH_FS_fsck_done -> BCH_FS_fsck_running; set when we might be fixing
fsck errors. Also; set fix_errors to ask by default when fsck is
running.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
1f34c21bc6
bcachefs: bch2_trigger_pointer()
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
e4eb3e5ae4
bcachefs: unify stripe trigger
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
f4f78779bb
bcachefs: move stripe triggers to ec.c
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
153d1c63c2
bcachefs: unify alloc trigger
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
6820ac2cdc
bcachefs: move bch2_mark_alloc() to alloc_background.c
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
6cacd0c414
bcachefs: unify reservation trigger
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
7bc4d18af4
bcachefs: unify reflink_p trigger
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:20 -05:00
Kent Overstreet
08bc959010
bcachefs: unify inode trigger
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
282e7c37eb
bcachefs: kill mem_trigger_run_overwrite_then_insert()
...
now that type signatures are unified, redundant
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
c95e9ec486
bcachefs: BTREE_TRIGGER_TRANSACTIONAL
...
New flag so that triggers can distinguish whether we're running
transactional or atomic triggers (or gc) - unifying the callbacks.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
089e311347
bcachefs: Kill BTREE_TRIGGER_NOATOMIC
...
dead code
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
ad00bce07d
bcachefs: mark now takes bkey_s
...
Prep work for disk space accounting rewrite: we're going to want to use
a single callback for both of our current triggers, so we need to change
them to have the same type signature first.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
717296c34c
bcachefs: trans_mark now takes bkey_s
...
Prep work for disk space accounting rewrite: we're going to want to use
a single callback for both of our current triggers, so we need to change
them to have the same type signature first.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
eff1f728be
bcachefs: Upgrading uses bch_sb.recovery_passes_required
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
96f37eabe7
bcachefs: factor out thread_with_file, thread_with_stdio
...
thread_with_stdio now knows how to handle input - fsck can now prompt to
fix errors.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
f60250de32
bcachefs: Fix printing of device durability
...
BCH_MEMBER_DURABILITY() was not present initially; a value of 0 means
use the default, nonzero means use v - 1.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
8feaebb0ae
bcachefs: __bch2_journal_key_to_wb -> bch2_journal_key_to_wb_slowpath
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00
Kent Overstreet
f412392f6e
bcachefs: __journal_keys_sort() refactoring
...
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev >
2024-01-05 23:24:19 -05:00