Yeah it’s kinda annoying having to unplug the charger to get full multicore performance (PPT of 40W for a bit then 30W sustained) instead of the 20W max PPT I get with a 65W charger.
For references, this is can be found in the UMA_AC_DC_PMF tables in the pmf.c files if somebody wants to tune this in the EC FW: 7000 Series, AI 300
Notably, firmware treats a 65W charger the same as even a 35W charger, but even then, I don’t understand if there’s an limitations in the charging circuit that would prevent it to at least get the performance we get on battery, at least on “best performance” profile - since that doesn’t have the expectation of still charging the battery as you may have with a “best efficiency” on a 45W charger.
struct pmf_info UMA_AC_DC_PMF[] = {
...............
{80, EC_AC_BEST_PERFORMANCE, 43, {227, 65, 54, 45, 0}},
{80, EC_AC_BALANCED, 44, {227, 65, 48, 40, 0}},
{80, EC_AC_BEST_EFFICIENCY, 45, {221, 63, 42, 35, 0}},
{1, EC_AC_BEST_PERFORMANCE, 46, {202, 58, 38, 32, 0}}, // This is gimped performance on <80W chargers
{1, EC_AC_BALANCED, 47, {189, 54, 36, 30, 0}},
{1, EC_AC_BEST_EFFICIENCY, 47, {176, 50, 34, 28, 0}},
};
struct pmf_info UMA_DC_ONLY_PMF[] = {
{0, EC_DC_BEST_PERFORMANCE, 62, {85, 60, 40, 30, 0}}, // This is full performance on battery
{0, EC_DC_BALANCED, 63, {85, 53, 35, 30, 0}},
{0, EC_DC_BEST_EFFICIENCY, 64, {85, 45, 30, 30, 0}},
{0, EC_DC_BATTERY_SAVER, 65, {85, 45, 30, 30, 0}},
};
So I still think this is a bug (initially flagged here), but I don’t have the time to get into this and fix it, sadly.
EDIT: Took the wrong PMF, the difference is not as stark anymore. Not sure if this PMF alone can explain the huge gap in PPT I see. When I initially flagged it (see above), it was in the thermal limit section, so maybe the true culprit is found elsewhere after all.