{"push_id":1095894328,"size":10,"distinct_size":10,"ref":"refs/heads/cxl/mlx/cx4_rebasing","head":"714846e10658fa533a06c0d40fecd15aa68c9c51","before":"a99cfb24933475a3116c1e9a7b1dfa979e4231f9","commits":[{"sha":"acf2e36284be2b1700dd70dbfd22689be5d6c870","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"cxl: Ensure PSL interrupt is configured for contexts with no AFU IRQs\n\nIn the cxl kernel API, it is possible to create a context and start it\nwithout allocating any interrupts. Since we assign or allocate the PSL\ninterrupt when allocating AFU interrupts this will lead to a situation\nwhere we start the context with no means to take any faults.\n\nThe user API is not affected as it always goes through the cxl interrupt\nallocation code paths and will have the PSL interrupt allocated or\nassigned, even if no AFU interrupts were requested.\n\nThis checks that at least one interrupt is configured at the time of\nattach, and if not it will assign the multiplexed PSL interrupt for\npowernv, or allocate a single interrupt for PowerVM.\n\nSigned-off-by: Ian Munsie <imunsie@au1.ibm.com>","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/acf2e36284be2b1700dd70dbfd22689be5d6c870"},{"sha":"0b3bc67713d10bd598380ea32a769de639b44ab6","author":{"email":"c90240987c583ac0802fbeb88cb1684edc683e18@linux.vnet.ibm.com","name":"Frederic Barrat"},"message":"cxl: Add ops structure to abstract differences between PSL and XSL\n\nIncludes timebase sync.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/0b3bc67713d10bd598380ea32a769de639b44ab6"},{"sha":"8acd5b7702f1d008ab379b8d5d6cd9f6e0f37ad6","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"Hacks to bring up new PFs after switching to CAPI mode\n\nThis is a stripped down version of my WIP debugging patch to bring up\nadditional PFs beyond what was present on boot after switching a card to\nCAPI mode. e.g. if the card booted with 2 PFs and has three after\nswitching to CAPI mode this will make the 3rd show up in Linux and have\nit's BARs configured, etc.\n\nIt works by manufacturing a device node in the same way we do for VFs.\nAn additional hack is needed in the eeh_add_device_late() call to cope\nwith the fact that the manufactured device node is missing a struct\neeh_dev.\n\nIt also contains some additional comments and debugging that was\nrelevant to tracking down the issues with the additional PF, and\ndisables the mlx5 driver's pci device table. These should be stripped\nout for upstreaming.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/8acd5b7702f1d008ab379b8d5d6cd9f6e0f37ad6"},{"sha":"c63990f8f039f4abdd7afee3df6af35c8716efd3","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"cxl: Add support for the Mellanox CX4 card in cxl mode (squashed history)\n\ncxl: Add API for switching bi-modal cards to cxl mode\n\nThis introduces a new API cxl_check_and_switch_mode to check which mode\na bi-modal cxl enabled device is currently in, and switch it if\nrequired. It also ensures that the cxl protocol area is set to a value\ncompatible with the processor even for single mode devices.\n\nIf the adapter is already in the requested mode it returns success. If\nthe adapter was not in the requested mode it will return -EBUSY and\nstart unbinding any drivers bound to functions on the bus in the\nbackground. Once all drivers have been unbound it switches the card mode\nas requested, performs a pcie hot reset and re-enumerates the bus.\n\nOnce a device has been switched to cxl mode it's class code and BAR\nassignment may have changed. It may then bind to the cxl driver which\ncan expose it's AFUs under a virtual PHB for an AFU driver to bind to.\n\nIt can either be passed the offset to the cxl vsec, or not. If no offset\nis passed it will search for a CXL VSEC with ID 0x1280 and return\n-ENODEV if it is not found.\n\nCurrently only switching to CXL mode is supported. Switching back to PCI\nmode will first require support in Sapphire to safely disable the CAPP.\n\nSigned-off-by: Ian Munsie <imunsie@au1.ibm.com>\n\nAdd stub driver to bind to Mellanox cx4 card and switch to cxl mode\n\nThis is a minimal stub driver that binds to both functions of the cx4\ncard. It dumps the cxl vsec for the function that contains it then calls\ninto the cxl driver to switch it to cxl mode.\n\nThe cxl driver will then unbind both instances of this driver and switch\nthe card's mode. Once switched the card will bind to the generic cxl\ndriver matched through the class code.\n\ncxl: Make missing vsec message less scary\n\nNow that this API may be called from other drivers on a card that may or\nmay not be CXL capable, make the message less scary as we are only\naborting the mode switch, and the calling driver may continue with it's\ninit sequence.\n\nSigned-off-by: Ian Munsie <imunsie@au1.ibm.com>\n\nDebugging WIP\n\nAdd the missing pci_set_master call to the init path.\n\nBail out after the PHB mode switch while we debug it.\n\ncxl: Add ops structure to abstract differences between PSL and XSL\n\nCorrect CX4 MSI-X format","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/c63990f8f039f4abdd7afee3df6af35c8716efd3"},{"sha":"87b47eb61e9feb83f89d4ce242ccb4af33b71ea4","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"cxl: Add kernel API to allow a context to operate with translation disabled\n\nSigned-off-by: Ian Munsie <imunsie@au1.ibm.com>","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/87b47eb61e9feb83f89d4ce242ccb4af33b71ea4"},{"sha":"a7d3ee2442a83001497a91c4afb61e169fc789af","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"cxl: Add a CONFIG_KENREL2_API to ease merging drivers that depend on this\n\nThis config option does nothing in the cxl driver, but indicates that\nthe kernel2 api (i.e. using the cxl kernel API with a real PHB instead\nof a virtual one) is present. Other drivers can depend on this so that\nthey can be merged into a tree that does not yet include this code\nwithout breaking the build.\n\nSigned-off-by: Ian Munsie <imunsie@au1.ibm.com>","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/a7d3ee2442a83001497a91c4afb61e169fc789af"},{"sha":"0333a89ab3d9dcc84fe5133bf0e90ae27393166c","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"Add stub driver to bind to Mellanox cx4 card and switch to cxl mode\n\nThis is a minimal stub driver that binds to both functions of the cx4\ncard. It dumps the cxl vsec for the function that contains it then calls\ninto the cxl driver to switch it to cxl mode.\n\nThe cxl driver will then unbind both instances of this driver and switch\nthe card's mode. Once switched the card will bind to the generic cxl\ndriver matched through the class code.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/0333a89ab3d9dcc84fe5133bf0e90ae27393166c"},{"sha":"346415b0778bed8506ea333d475c8d01e85f0b1b","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"Fake up AFU descriptor values","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/346415b0778bed8506ea333d475c8d01e85f0b1b"},{"sha":"07bf00357282f1ba85e10f39d7e67d0de91b278d","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"spap debugging","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/07bf00357282f1ba85e10f39d7e67d0de91b278d"},{"sha":"714846e10658fa533a06c0d40fecd15aa68c9c51","author":{"email":"2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com","name":"Ian Munsie"},"message":"Drop me: Disable timebase\n\nMakes less noise in the PCI analyser dump. Re-enable before upstreaming","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/linux/commits/714846e10658fa533a06c0d40fecd15aa68c9c51"}]}