There is a lot of confusion about what exactly is meant by the speed of light in general relativity, so I think it’s worth examining this with some care. The issue turns out to be absolutely fundamental to general relativity.
Special relativity
Let’s start with special relativity. Although it’s rarely introduced as such, special relativity is simply the flat spacetime limit of general relativity i.e. it is the spacetime geometry described by the Minkowski metric:
$$\mathrm ds^2 = -~c^2~\mathrm dt^2 + \mathrm dx^2 + \mathrm dy^2 + \mathrm dz^2 \tag{1} $$
where we are using the time coordinate $t$ and the Cartesian spatial coordinates $x$, $y$ and $z$. The parameter $c$ is a constant, and for now let’s not make any assumptions about it, though we’ll see that it turns out to be the speed of light.
Light (and any massless particles) travel on null trajectories i.e. those trajectories where $\mathrm ds = 0$, and if we substitute this into equation (1) we get after some minor rearranging:
$$ c = \frac{\sqrt{ \mathrm dx^2 + \mathrm dy^2 + \mathrm dz^2}}{\mathrm dt} $$
But $\sqrt{ \mathrm dx^2 +\mathrm dy^2 +\mathrm dz^2}$ is just the Pythagoras’ expression for the total distance moved in space - let’s call this $\mathrm dr$ - so we get:
$$ c = \frac{\mathrm dr}{\mathrm dt} $$
And this is just the velocity of the light so:
the constant $c$ is the velocity of light
The Minkowski metric is unchanged by any Lorentz transformation, so all observers related by Lorentz transformations will measure the speed of light to have the same constant value $c$. This is what we mean when we say that in special relativity the speed of light is constant.
But even in special relativity things are not as simple as they initially appear. The metric (1) describes the spacetime for an inertial observer, and the Lorentz transformations relate the frames of inertial observers. However it’s possible to have accelerated observers, for example observers in a rocket accelerating with some acceleration $a$, and to get the metric for an accelerated observer we need to use a Rindler transformation. This gives us the Rindler metric for a proper acceleration $a$:
$$ \mathrm ds^2 = -~ \left(1 + \frac{a}{c^2}x \right)^2 c^2~\mathrm dt^2 +\mathrm dx^2 + \mathrm dy^2
+ \mathrm dz^2 \tag{2} $$
If we use the same trick as before to calculate the speed of light we get:
$$ \frac{\mathrm dr}{\mathrm dt} = c \left(1 + \frac{a}{c^2}x \right) \tag{3} $$
And we discover that the speed of light is not constant but varies by a factor of $\left(1 + \frac{a}{c^2}x \right)$ where $x$ is the distance from the observer. What’s going on? Well, there are two key points to make
Firstly, this is the same light that the non-accelerating observer measures to have the speed $c$, and the light hasn’t changed. What has changed is that the accelerating observer’s spatial coordinates are curved due to the acceleration. The different speed of light is due to a change in the coordinates not a change in the light. For this reason we refer to the speed we calculated above as the coordinate velocity of light, that is it’s the velocity measured in whatever coordinates the observer is using. When those coordinates are curved the velocity will generally be different from $c$.
Secondly, even though the speed of light can vary in the accelerating frame, let’s see what happens at the position of the observer i.e. at $x = 0$. When we substitute $x=0$ equation (3) simplifies to:
$$ \frac{\mathrm dr}{\mathrm dt} = c $$
And we find the speed of light at the observer’s position is $c$, just like the non-accelerating observer. We call this the local velocity of light because it’s measured locally i.e. at the observer’s position.
So what we’ve found is:
The coordinate velocity of light can be different from $c$
The local velocity of light is still $c$
General relativity
Now on to general relativity. In general relativity we describe spacetime as a Lorentzian manifold, and solving Einstein’s equation gives us the shape of this manifold i.e. the metric. To write down the metric we need to choose a coordinate system, and in GR all coordinate systems are equally valid and we can choose whatever coordinate system we want. Generally we try to choose coordinates that make our calculations easiest.
For our purposes the key point is that for a Lorentzian manifold there is always a choice of coordinates that makes the spacetime geometry locally the Minkowski metric i.e. there is always a choice of coordinates that makes spacetime locally flat. These coordinates correspond to the rest frame of a freely falling observer, so for a freely falling observer it is as if they are at rest in a flat spacetime. This is only true locally, and as we move away from the freely falling observer the spacetime curvature will cause tidal forces, however at the position of the observer the tidal forces go to zero.
But we already know from the discussion above that in a Minkowski spacetime the speed of light is the constant $c$, and that means our freely falling observer always measures the local speed of light to be the constant $c$.
But what of observers who aren’t falling freely? I’m going to gloss over this and just say that for any observer who isn’t freely falling the spacetime looks locally like a Rindler spacetime. And as we discussed above in a Rindler spacetime the local speed of light is also just the constant $c$. So even an accelerating observer also measures the speed of light to be the constant $c$.
So just like in special relativity we end with the conclusion:
The local velocity of light is $c$
And this is what we mean when we say the speed of light is constant in general relativity.
As we found earlier for accelerating observers in flat spacetime the coordinate velocity of light may not be equal to $c$. We’ll take the well worn example of the Schwarzschild metric that describes the spacetime geometry round a static black hole:
$$\mathrm ds^2 = -~\left(1-\frac{r_s}{r}\right)c^2~\mathrm dt^2 + \frac{\mathrm dr^2}{1 - r_s/r} + r^2~\left(\mathrm d\theta^2 + \sin^2\theta~\mathrm d\phi^2\right) $$
We calculate the coordinate speed just as before. We’ll assume the light ray is moving in a radial direction so that $\mathrm d\theta = \mathrm d\phi = 0$, and as before substituting $\mathrm ds=0$ gives us the coordinate speed:
$$ \frac{\mathrm dr}{\mathrm dt} = c \left(1-\frac{r_s}{r}\right) $$
And we find the coordinate speed is not $c$. However the Schwarzschild coordinates are the coordinates for an observer at infinity, i.e. at $r=\infty$, so we get the local speed of light for this observer by substituting $r=\infty$ to get:
$$ \frac{dr}{dt} = c \left(1-\frac{r_s}{\infty}\right) = c $$
So once again the local speed of light is $c$. I won’t do it since the algebra is a bit tedious, but it’s easy to show that for any observer in a Schwarzschild spacetime the local speed of light is also just the constant $c$. So as before we end up with the conclusion that for all observers in Schwarzschild spacetime the local speed of light is $c$.
And finally
I’ve diverged a long way from your original question, but my aim is to make the point that the local speed of light remains $c$ even in GR. The coordinate speed of light may not be $c$, but we can choose any coordinates we want and indeed different observers will in general be using different coordinates, so there is nothing special or unique about the coordinate velocity.
Having made this point let’s return to your question about the gravitational potential. Apart from a few special cases it is exceedingly hard to solve Einstein’s equation to get the metric. However if the gravitational fields are weak then we can use an approximation called the weak field limit. In this case the metric is:
$$ \mathrm ds^2 \approx -\left( 1 + \frac{2\Delta\phi}{c^2}\right) c^2~\mathrm dt^2 + \frac{1}{1 + 2\Delta \phi/c^2}\left(\mathrm dx^2 + \mathrm dy^2 + \mathrm dz^2\right) $$
where $\Delta \phi$ is the difference in the Newtonian gravitational potential from the position of the observer. And calculating the coordinate speed of light as before gives us:
$$ \frac{\mathrm dr}{\mathrm dt} = c \left( 1 + \frac{2\Delta \phi}{c^2}\right) $$
To get the local speed of light we note that at the observer’s position $\Delta\phi=0$ so the local speed of light is:
$$ \frac{\mathrm dr}{\mathrm dt} = c $$
Surprise, surprise!